如何在没有痛苦的情况下调整UIImage?

我见过:

  • 指责各种UIImageresize的代码是错误的,并有错误
  • 调整低质量图像的代码大小
  • 调整翻转图像的代码大小
  • 调整不能正确处理肖像相机照片的代码

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

我使用https://stackoverflow.com/a/10491692/1271826中显示的类别,它是一个提供UIImage一系列resize方法的类别,它有效地支持UIViewContentModeScaleToFillUIViewContentModeScaleAspectFillUIViewContentModeScaleAspectFit

我主要用它来创build我的缩略图(使用我的imageByScalingAspectFillSize ),并用不同格式的图像进行处理。

如果你只是谈论不包含元数据的UIImage,只需要开始创build一个graphics上下文,并调用上下文方法中的uiimage draw:

 - (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; } 

如果你想要调整包含元数据(如从磁盘读取的元数据)的图像,执行预览方法,并在重新保存时使用原始源字典。