gpt4 book ai didi

ios - 使用 UIImageJPEGRepresentation() 压缩的图像的 NSData 长度

转载 作者:可可西里 更新时间:2023-11-01 06:18:47 24 4
gpt4 key购买 nike

我们知道可以使用方法 UIImageJPEGRepresentation() 压缩图像,如下面的代码所示。

    NSData *imgData = UIImageJPEGRepresentation(imageResized, 0.5);
NSLog(@"imgData.length :%d",imgData.length);

imageResized = [UIImage imageWithData:imgData];
NSData *imgData2 = UIImageJPEGRepresentation(imageResized, 1);

NSLog(@"imgData2.length :%d",imgData2.length);

日志是:

2013-02-25 00:33:14.756 MyApp[1119:440b] imgData.length :371155
2013-02-25 00:33:20.988 MyApp[1119:440b] imgData2.length :1308415

令我困惑的是,为什么imgDataimgData2length 不同。在我的应用程序中,图像应该上传到服务器。我应该将 NSData 上传到服务器以节省存储空间吗? Android 手机是否可以下载 NSData 并将其转换为图像?任何帮助将不胜感激!

最佳答案

您从某个大小(例如 1024x768)的 UIImage 开始。这需要 1024x768x4 字节的内存。然后将其压缩为 0.5 倍,得到 371,155 字节。

然后您使用压缩数据创建一个新的 UIImage。这仍然是 1024x768(或其他)UIImage,因此它现在占用与原始图像相同的内存量 (1024x768x4)。然后,您将其转换为压缩较少的新 JPG,得到 1,308,415 字节。

即使您创建压缩图像的未压缩版本,字节数也来自转换完整大小的 UIImage。第二个,未压缩的图像,虽然更大,但仍然具有与压缩图像相同的较低质量。

由于您的数据代表 JPG,因此下载数据的任何设备都可以将数据视为 JPG,包括 Android 手机。

关于ios - 使用 UIImageJPEGRepresentation() 压缩的图像的 NSData 长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15054016/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com