转换 UIImage 图像表示

Posted

技术标签:

【中文标题】转换 UIImage 图像表示【英文标题】:Converting UIImage image representation 【发布时间】:2011-10-18 20:54:42 【问题描述】:

我从 UIGraphicsGetImageFromCurrentImageContext 获取 UIImage,但它们在内存方面非常重要。

    UIGraphicsBeginImageContext([self bounds].size);
// CGContext procedures
    _cacheImage = UIGraphicsGetImageFromCurrentImageContext();

图像的大小几乎和 iPad 屏幕的大小一样,(小一点),当我做这样的事情时:

NSData *data = UIImagePNGRepresentation(_cacheImage)
NSLog(@"%i", data.lenght); 

它给了我大约 700,000 的长度。我猜它是一个 .7MB 的文件?

如果有什么办法可以缩小图片大小,请告诉我。

【问题讨论】:

【参考方案1】:

如果您想降低质量,请尝试使用

NSData * UIImageJPEGRepresentation (
   UIImage *image,
   CGFloat compressionQuality
);

通过 compressionQuality == 0.0 以获得最大质量或通过 compressionQuality == 1.0 以获得最大压缩。

【讨论】:

以上是关于转换 UIImage 图像表示的主要内容,如果未能解决你的问题,请参考以下文章

从 cvMat 转换为 UIImage 会改变图像

如何将图像转换为 UIImage

Iphone 将 IplImage 转换为 UIImage 图像变蓝

将 jpg UIImage 转换为位图 UIImage?

将 UIImage 转换为灰度保持图像质量

将UIImage转换为NSData并返回UIImage