我有一個背景文件,我希望在目前40MB的iPhone遊戲中使用。這是一個.png文件,我想將它壓縮到可能的最小尺寸,而不會丟失很多質量並且不會丟失Alpha通道。我已經成功改變了一個類似大文件的文件大小,只需將其文件類型更改爲.jpg文件即可。然而,這張圖片沒有透明度,據我所知,你不能將.png改成.jpg而不會失去透明度。也許我錯了(如果我有問題,請糾正我)。如果有辦法壓縮這個.png文件,請向我解釋它是如何完成的。另外,請注意,這是一個相當大的文件,如果可能,最好在5小時或更短的時間範圍內進行壓縮。謝謝!壓縮在iPhone遊戲中使用的巨大PNG文件
回答
Xcode壓縮PNG,你應該看看圖像實際上在建立的應用程序內有多大。有可能壓縮圖像超過Xcode與ImageOptim,但它們稍慢於在屏幕上顯示,這可能不會成爲您的背景圖像的問題。
你是如何構建遊戲的?如果你直接使用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圖像仍然很大。如果它引起你的記憶問題,我不會感到驚訝。考慮將其分成更小的區塊。
- 1. 在Java中解壓縮巨大的gz文件和性能
- 2. 在PHP中壓縮PNG文件
- 3. 如何在Swift中壓縮PNG文件?
- 4. 在iphone sdk中解壓縮文件的最大大小?
- 5. 使用zlib解壓縮PNG
- 6. 用Java壓縮PNG
- 7. iPhone - 使用遊戲中心的在線多人遊戲教程
- 8. 如何用python的ziplib文件壓縮巨大的純文件(+ 20GB)
- 9. PNG壓縮
- 10. Nginx PNG壓縮
- 11. 在Monotouch中使用iPhone遊戲中心
- 12. 如何使用DeflaterOutputStream壓縮大文件?
- 13. 在C++ iPhone遊戲中使用Objective-C遊戲引擎?
- 14. Android大遊戲文件
- 15. 使用Java壓縮ZIP文件中的大文件
- 16. 我的iPhone遊戲遊戲中心
- 17. iPhone - 使用iOS遊戲套件開發遊戲
- 18. 如何在iphone中使用「ZipArchive庫」壓縮文件?
- 19. 如何在iPhone中使用zipArchive壓縮文件夾?
- 20. Zlib壓縮放大文件
- 21. 在c#中使用zlib壓縮文件時解壓文件
- 22. 使用PdfStamper的巨大文件大小
- 23. 壓縮pdf文件使其更大
- 24. three.js使用PNG進行紋理壓縮
- 25. 在PHP中使用gzip解壓縮大文件
- 26. 縮小.png文件的大小
- 27. 如何在Xcode中壓縮和編碼png和plist文件?
- 28. Iphone的壓縮文件格式
- 29. 一種在小文件大小的iPhone遊戲中做音樂的方法
- 30. 如何使用流壓縮大塊文件中的blob
嘗試使用此應用程序 - 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