- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我们知道可以使用方法 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
令我困惑的是,为什么imgData
和imgData2
的length
不同。在我的应用程序中,图像应该上传到服务器。我应该将 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/
在iPhone应用程序上,我需要通过邮件发送最大尺寸为300Ko的jpg(我不知道mail.app可以有的最大尺寸,但这是另一个问题)。为此,我尝试降低质量,直到获得低于 300Ko 的图像。 为了获
我正在使用 xcode 9 和 iPhone SE 开发 iOS 应用程序。 我从 iPhone 相册中获取了一张大照片,该照片是 19MB 的 JPEG 图片,格式为 NSData。 然后我需要修复
我有这行代码 UIImageJPEGRepresentation(profileImage, 0.8) 我想知道它是通过降低质量来调整图像的高度和宽度还是仅调整尺寸? 最佳答案 它只会降低质量。 fu
我正在移植到 Android 的 iOS 应用程序中有一个照片上传图像小部件。数据以 multipart/form-data 格式作为 HTTP POST 发送。我需要在 Android 中复制它,但
我试图找出这个问题,但在做了我在操作系统或谷歌上发现的所有事情后都失败了。问题是,当我使用 UIImageJPEGRepresentation 或 UIImagePNGRepresentation 将
我在使用 UIImageJPEGRepresentation 时收到内存警告,有什么办法可以避免这种情况?它不会使应用程序崩溃,但我想尽可能避免它。它确实间歇性地不运行 [[UIApplication
我正在缩放和裁剪一个 UIImage,我希望能够在一个线程安全的 block 中执行此操作。我在文档中找不到 UIImageJPEGRepresentation 是否线程安全。 在下面的代码中,我裁剪
我的应用程序可以拍照或从相机胶卷中选择它们,然后使用 UIImagePicker 我将图片发送到 ViewController,然后用户可以在其中裁剪图像。 最终结果是带有名称和缩略图的 UITabl
我正在将收到的推送通知中的图像保存到磁盘。起初我尝试使用我通常在整个应用程序中使用的静态函数,但我无法从 NotificationService.swift 这是通知扩展。所以我复制了文件中的函数来使
我正在使用 CIFilters 将图像转换为灰度并应用一些图像处理效果。在 UIImageView 中显示输出是可行的;图像显示并按预期进行了修改。 但是,每次调用 UIImageJPEGRepres
我有一个图像(captureImage),它由相机拍摄并调整大小。我使用UIImageJPEGRepresentation来压缩图像,压缩后,图像的大小增加了。这是正常行为还是我以错误的方式进行压缩/
有人可以为我解释一下比例(0 到 1)吗?哪个质量最好/最差,这对文件大小有何影响? 最佳答案 关于规模 The quality of the resulting JPEG image, expres
我正在尝试保存图像 from here到设备的文档目录,但我的方法不起作用。我不得不提到这种方法适用于图片 like this : 我已经使用 iExplorer 检查了文档的目录,并且图像以正确的名
我有这段代码,它创建一个图像,然后向它添加一些效果并将其缩小以制作 largeThumbnail。 UIImage *originalImage = [UIImage imageWithData:se
在这里,我在具有静态方法的 UIImage 上按类别将我的图像转换为二进制数据。我的问题是 UIImageJPEGRepresentation 和 UIImagePNGRepresentation 非
在我的应用程序中,我使用相机和照片库来获取 UIImage, 然后将此 UIImage 缩小大约其正常大小的 20 倍然后我根据 UIImage 设置一个 NSData 对象。 _regularIma
所以我有这段代码来创建一个 UIImage: UIGraphicsBeginImageContextWithOptions(border.frame.size, YES, 0); [border.la
一直在与这个问题作斗争。基本上,我将图像转换为 NSData,以便将其发送到服务器。我以前使用过的代码,但由于某种原因,我收到了一个 ARC 错误。错误出现在我声明 imageData 变量的行上。
我在模拟器中使用 Safari 的“保留 + 保存图像”选项将一些图片存储到我的照片库中。当我从库中选择图像时,我必须将其转换为 JPEG 或 PNG,以便将其上传到服务器。问题是原始图像的大小约为
如上所述,当我使用 UIImageJPEGRepresentation 来NSData *imageData = UIImageJPEGRepresentation(self.selectedPic,
我是一名优秀的程序员,十分优秀!