Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/102.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 最小无损图像格式和/或库?_Ios_Optimization_Image Compression - Fatal编程技术网

Ios 最小无损图像格式和/或库?

Ios 最小无损图像格式和/或库?,ios,optimization,image-compression,Ios,Optimization,Image Compression,我的iOS应用程序出现了图像大小问题,我在寻找图像大小优化解决方案时发现了这个问题 读完后,我意识到我不需要只使用PNG或JPEG。实际上,我可以使用iOS平台默认不支持的任何图像格式。因为如果我能得到实际的像素,那么通过CGImage将其转换成UIImage就很简单了。我可以使用特殊的位图格式和特殊的解码器。例如,有一种称为纹理图集的技术,它将许多图像存储在一个大位图中,并且可以保存额外的重复存储桶 所以我问的是最小的(压缩时)无损图像压缩格式和/或库。如果你知道一些伟大的格式或库,我希望你推

我的iOS应用程序出现了图像大小问题,我在寻找图像大小优化解决方案时发现了这个问题

读完后,我意识到我不需要只使用PNG或JPEG。实际上,我可以使用iOS平台默认不支持的任何图像格式。因为如果我能得到实际的像素,那么通过
CGImage
将其转换成
UIImage
就很简单了。我可以使用特殊的位图格式和特殊的解码器。例如,有一种称为纹理图集的技术,它将许多图像存储在一个大位图中,并且可以保存额外的重复存储桶

所以我问的是最小的(压缩时)无损图像压缩格式和/或库。如果你知道一些伟大的格式或库,我希望你推荐给我


如果它是开源的就好了,但我不介意它是专有的封闭源代码和付费解决方案。我需要的只是很棒的图像压缩,而不是源代码。当然,它必须在iOS平台上可用,所以它应该提供C、C+或Objective-C语言可用的解码器。(在这些平台中我不需要编码器)

不同的图像有不同的压缩。使用JPEG,您可以牺牲质量来缩小尺寸,使用PNG 24,您可以获得alpha透明度。您可能更感兴趣的是获取您所使用格式的最小尺寸图像。有两个很好的命令行工具可以处理这个问题。你需要玩不同类型的游戏,像photoshop这样的程序可以让你很容易地看到哪个是最小的。找到最佳格式后,可以使用“smusher”删除图像不需要但通常由编辑器添加的无关数据。下面是两个命令行实用程序,我用来确保我的图像在构建网站时尽可能小,但对任何应用程序都是有益的

optipng: jpegoptim:

两者都可以使用自制软件轻松安装:我认为macports也有一个选项


也有基于C的,所以两者都可以在iOS项目中使用。

如果你想优化JPEG,我会选择


如果你想摆脱JPEG和PNG,你可以试试谷歌的WebP(http://code.google.com/speed/webp/)但我不知道是否有iOS库,也不知道它们是否好。

任何图像压缩算法在某些图像上的性能都会比在其他图像上更好。您正在处理什么类型的图像(照片、线条图、扫描文本等)?您正在压缩什么类型的图像?PNG通常被认为是“足够好”的屏幕截图。在iPhone上,处理能力可能是一个限制。我的图像主要是UI内容。通常使用Photoshop或Illustrator等工具绘制图形。不是照片。但通常它可以有照片级别的细节。@potatostater我使用的大多数图像都是UI内容。我不在乎编码成本,因为我不在设备上编码,但解码成本应该是可以承受的。我的意思是,它不需要像soft realtime那样超快速,但不需要几分钟就可以使用。例如,如果一个巨大的图集需要几分钟才能加载,则必须支持以更快的速度加载部分图像。@Eonil:UI作为按钮?这并不能真正解释它们的样子。按钮可以是纯色、照片或任何东西。类似地,一个地图集可能有许多照片,或者只是带有线条的纯色地图。