压缩在iPhone游戏中使用的巨大PNG文件
我有一个背景文件,我希望在目前40MB的iPhone游戏中使用。这是一个.png文件,我想将它压缩到可能的最小尺寸,而不会丢失很多质量并且不会丢失Alpha通道。我已经成功改变了一个类似大文件的文件大小,只需将其文件类型更改为.jpg文件即可。然而,这张图片没有透明度,据我所知,你不能将.png改成.jpg而不会失去透明度。也许我错了(如果我有问题,请纠正我)。如果有办法压缩这个.png文件,请向我解释它是如何完成的。另外,请注意,这是一个相当大的文件,如果可能,最好在5小时或更短的时间范围内进行压缩。谢谢!压缩在iPhone游戏中使用的巨大PNG文件
你是如何构建游戏的?如果你直接使用OpenGL,并且如果你对它提供的压缩感到满意,PVR是一个非常棒的格式,它的尺寸要小得多,并且真的是的快速图像。
正如keegan3d说,重新压缩的Xcode PNG图像,使用PNGCrush。它改变了字节顺序并预处理了alpha。这篇文章解释发生了什么:iPhone "Optimized" PNGs
如果你离开Xcode的PNG启用压缩,那么你将不会看到使用PNG压缩工具的任何好处:PNG compression and iOS apps
如果您想停用Xcode的压缩一个图像只有(这样你就可以使用备用压缩工具),我相信你可以将文件类型更改从image.png
到file
,如下解释:How can I skip compressing one PNG?
而且......小心一点与RAM的使用。 JPEG和PNG都将解压缩到相同的大小(假设它们没有alpha)。 40MB是相当大的。你有其他方式绘制背景吗?我已经开发了一个基于位图的2048 x 2048位图的游戏。我们使用PVR和瓷砖。 PVR图像使用的内存少于PNG,速度更快。
在my benchmark最小的尺寸和最快的加载PNG图像是用ImageAlpha/pngquant创建的PNG8 + alpha。
如果您的背景基本上是平坦或单色(不会太多模糊/渐变),那么它会看起来很像PNG8 + alpha。
您可以通过在smart way中将它们划分为两部分来提高PNG24 + alpha图像的可压缩性。
但是,40MB的PNG图像仍然很大。如果它引起你的记忆问题,我不会感到惊讶。考虑将其分成更小的区块。
尝试使用此应用程序 - http://www.irfanview.com/您可以在保存时设置压缩级别。它也有批量转换模式 - 所以你可以通过点击2-3次重新压缩整个图像。 – k06a 2012-04-23 07:21:36
你为什么不试试[PNG Squeezer](http://itunes.apple.com/us/app/png-squeezer/id467969231?mt=12)? – 2012-04-23 07:25:54
解压缩PNG时,它占用的内存至少与其压缩形式在磁盘上的容量相同 - 可能更多。如果你有RGB和alpha,在解压缩后每个像素需要4个字节。之前的iOS设备将尝试加载一个这么大的图像,但内存不足。你的背景图像可以分成独立的瓷砖吗? – Dondragmer 2012-04-23 07:29:58