UIImage 和 NSData 的内存大小有什么区别吗?
我正在将 UIImage 转换为 NSData 并将 NSData 上传到服务器。通过转换为 NSData 是否会减少内存大小,或者它与 UIImage 占用的内存相同。
请帮助我,
谢谢, 马丹·莫汉。
I am converting an UIImage to NSData and uploading the NSData to server. Is there any reduced of memory size by converting into NSData or it is the same memory that an UIImage occupied.
Please help me
Thank you,
Madan Mohan.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
通过 UIImageJPEGRepresentation 将 UIImage 转换为 NSData 可以对大小产生巨大的影响。 UIImageJPEGRepresentation 需要一个压缩因子参数,并且根据该值返回的 NSData 将更大或更小。
在我的测试中,
UIImageJPEGRepresentation(image, 1.0f)
字节数增加了一倍多。要减小尺寸,请使用小于 1.0 的数字,但请注意这会降低图像质量。
UIImagePNGRepresentation 将返回图像的未压缩 PNG 版本,该图像将比原始 JPEG 大得多。
Converting an UIImage to NSData via UIImageJPEGRepresentation can have a dramatic effect on the size. UIImageJPEGRepresentation requires a compression factor parameter and based on that value the NSData returned will be bigger or smaller.
In my testing,
UIImageJPEGRepresentation(image, 1.0f)
more than doubled the number of bytes.To reduce the size, use a number less than 1.0, but be aware that this will reduce image quality.
UIImagePNGRepresentation will return an uncompressed PNG version of the image, which will be much larger than the original JPEG.