在我的iPhone应用程序中,我用相机拍照,然后我想把它的大小调整到290*390像素.我使用此方法调整图像大小:

UIImage *newImage = [image _imageScaledToSize:CGSizeMake(290, 390)
                         interpolationQuality:1];    

它工作得很好,但它是一个未经证明的功能,所以我不能再在iPhone OS4上使用它了.

所以...调整UIImage大小的最简单方法是什么?

推荐答案

最简单的方法是设置UIImageView的框架,并将contentMode设置为其中一个调整大小选项.

或者,如果您确实需要调整图像大小,也可以使用此实用程序方法:

+ (UIImage *)imageWithImage:(UIImage *)image scaledToSize:(CGSize)newSize {
    //UIGraphicsBeginImageContext(newSize);
    // In next line, pass 0.0 to use the current device's pixel scaling factor (and thus account for Retina resolution).
    // Pass 1.0 to force exact pixel size.
    UIGraphicsBeginImageContextWithOptions(newSize, NO, 0.0);
    [image drawInRect:CGRectMake(0, 0, newSize.width, newSize.height)];
    UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();    
    UIGraphicsEndImageContext();
    return newImage;
}

示例用法:

#import "MYUtil.h"
…
UIImage *myIcon = [MYUtil imageWithImage:myUIImageInstance scaledToSize:CGSizeMake(20, 20)];

Ios相关问答推荐

使用SWIFT传输表示时的条件文件表示格式

如何创建具有SPM依赖项的二进制XCFramework?

当操作修改查看条件时,按钮不重复

swiftui 图像放大时无法正确拖动

mapView swift 导致警告有网格错误

使用 Xamarin 将 dext Bundle 到 iOS .ipa 中

卡在 Apple 的 SwiftUI 教程第 5 章(更新应用数据)

SwiftUI Disclosure Group 文本对齐

如何识别 SwiftUI 中点击的按钮 ID 以使该按钮动画化?

分析应用程序版本时出错 - Apple 提交到store

如何告诉 SwiftUI 视图绑定到嵌套的 ObservableObjects

iOS swift从另一个数组中删除一个数组的元素

界面生成器中 UIView 的边框 colored颜色 不起作用?

刷新由 Xcode 7 管理的团队配置文件中的设备?

将自定义对象保存到 NSUserDefaults

SLComposeViewController 分享教程

如何在 Objective-C 中组合两个数组?

在 React Native 中保存敏感数据

NSURLSession:如何增加 URL 请求的超时时间?

如何在 Swift 中将新单元格插入 UITableView