如何在没有痛苦的情况下调整图像大小?

时间:2012-06-01 18:52:40

标签: iphone objective-c ios uiimage

我见过:

  • 各种UIImage调整大小代码错误且有错误的指控
  • 调整低质量图像的代码大小
  • 调整代码大小 翻转图像
  • 调整无法正常工作的代码 特写肖像相机照片

是否有一段用于调整/裁剪UIImage的代码,有人可以推荐?

2 个答案:

答案 0 :(得分:4)

我使用https://stackoverflow.com/a/10491692/1271826中显示的类别,该类别提供UIImage一系列调整大小的方法,有效支持UIViewContentModeScaleToFillUIViewContentModeScaleAspectFill和{{ 1}}。

我主要使用它来创建我的缩略图(使用我的UIViewContentModeScaleAspectFit),并使用不同格式的图像执行此操作。

答案 1 :(得分:0)

如果你只是谈论不包含元数据的UIImage,只需要开始创建图形上下文并在上下文方法中调用uiimage:

- (UIImage*)resizeImage:(UIImage*)jpeg withSize:(CGSize)newSize
{   
    UIGraphicsBeginImageContextWithOptions(newSize, NO, 0.0);
    [jpeg drawInRect:CGRectMake(0, 0, newSize.width, newSize.height)];
    UIImage *resizedImage = UIGraphicsGetImageFromCurrentImageContext();    
    UIGraphicsEndImageContext();

    return resizedImage;
}

如果您想要的是调整包含从磁盘或其他内容读取的元数据的图像,请执行预览方法,并在重新保存时使用原始源字典。