gpt4 book ai didi

objective-c - 压缩巨大的png文件以在iphone游戏中使用

转载 作者:可可西里 更新时间:2023-11-01 06:26:08 25 4
gpt4 key购买 nike

我有一个背景文件,我希望在目前为 40mb 的 iphone 游戏中使用。这是一个 .png 文件,我想将它压缩到尽可能小的尺寸而不损失太多质量并且不丢失 alpha channel 。通过将文件类型更改为 .jpg 文件,我成功地更改了类似大文件的文件大小。但是,此图像没有任何透明度,据我所知,您不能在不失去透明度的情况下将 .png 更改为 .jpg。然而,也许我错了(如果我错了,请纠正我。)如果有办法压缩这个 .png 文件,请向我解释它是如何完成的。另外,请注意这是一个相当大的文件,如果可能的话,最好在 5 小时或更短的时间范围内压缩它。谢谢!

最佳答案

您如何构建游戏?如果您直接使用 OpenGL,并且对它提供的压缩感到满意,那么 PVR 是一种非常棒的格式,适用于小得多且非常快速的图像。

PVRTC on Wikipedia

正如 keegan3d 所说,Xcode 使用 PNGCrush 重新压缩 PNG 图像。它更改字节顺序并预乘 alpha。本文解释了会发生什么:iPhone "Optimized" PNGs

如果您启用 Xcode 的 PNG 压缩,那么您将看不到使用 PNG 压缩工具的任何好处:PNG compression and iOS apps

如果你只想禁用 Xcode 对一张图像的压缩(这样你就可以使用备用压缩工具),我相信你可以将文件类型从 image.png 更改为 文件,如此处解释:How can I skip compressing one PNG?

还有……要小心 RAM 的使用。 JPEG 和 PNG 都将解压缩为相同的大小(假设它们没有 alpha)。 40MB 相当大。你有其他绘制背景的方法吗?我曾开发过一款基于位图的 2048 x 2048 游戏区域位图游戏。我们使用 PVR 和磁贴。 PVR 图像使用的 RAM 比 PNG 少,而且速度更快。

关于objective-c - 压缩巨大的png文件以在iphone游戏中使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10276356/

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