在iOS中调整照片大小的有效方法

时间:2014-04-09 07:36:56

标签: ios objective-c xcode core-graphics

迭代整个相机胶卷,打开每张照片并调整其大小的最有效方法是什么?

我天真地尝试迭代资产库并获得defaultRepresentation结果,每4张图片花费约1秒(iPhone 5)。有没有办法做得更好?

我需要调整大小的图像来进行某种处理。

1 个答案:

答案 0 :(得分:0)

调整全分辨率照片的大小是相当昂贵的操作。但您可以使用已调整大小的图像来分辨屏幕:

ALAsset *result = // .. do not forget to initialize it
ALAssetRepresentation *rawImage = [result defaultRepresentation];
UIImage *image = [UIImage imageWithCGImage:rawImage.fullScreenImage];

如果您需要其他分辨率,您仍然可以使用'fullScreenImage',因为它的尺寸小于原始照片。

  
      
  • (CGImageRef)fullScreenImage
  •   
     

返回适合的表示形式的CGImage   全屏显示。图像的尺寸取决于   您的应用程序运行的设备;尺寸可能没有,   但是,完全匹配屏幕的尺寸。

     

在iOS 5及更高版本中,此方法返回完全裁剪,旋转和   调整后的图像 - 与用户在照片或图像中看到的完全相同   选择器。

     

返回适合的表示形式的CGImage   显示全屏,如果CGImage表示不能,则显示NULL   生成。