利用Flash CS4的PNG压缩,但作为外部文件?

时间:2010-05-18 20:42:22

标签: compression png flash-cs4 actionscript-3

问题在于:我正在开发一些Flash网站并且非常喜欢AS3。

问题: PNG 24位图像太大了...我有三个PNG图像,透明度我想在“主页”每隔10秒左右旋转一遍。大。没问题 - 但是不是在SWF中嵌入所有三个PNG,这会花费更长的时间加载,我想从外部文件动态加载它们,这样用户就不必等待图像加载无论如何不会再显示10-15秒。那很好......我有工作代码。

真正的问题:这些PNG大小,即使是动态加载的外部文件,也真的让我烦恼。使用 PNGOUT 时,使用Photoshop保存时,一张图像为350k - 300k。但是......当我将PNG导入Flash的库时,我可以将其设置为JPG / Image Compression,将大小减小到大约45k,同时保持alpha信息!如果Flash可以压缩我的PNG那么多,并且仍然让它看起来很好,为什么我找不到可以对外部文件执行相同操作的应用程序呢?我满足于将我的图像加载到Flash库中并让它处理压缩,但如果我最终得到5或6张图像,那么加载时间仍然太长。

摘要:如何将我的350k PNG图像缩小到45k,就像Flash将其导入到库中一样?

可能的解决方案:或......嗯...这可能是一种解决方法...也许我可以为我想要使用的每个PNG制作单独的SWF电影Flash压缩图像 - 然后使用Loader动态读取 文件......这应该可行! 我将返回并报告......

但是,Flash如何比PNGOUT这样的压缩器压缩这些PNG呢?也许我只是没有传递正确的参数来使它们有效。

感谢您阅读我的随意播放。你们都是一个伟大的声音板!

3 个答案:

答案 0 :(得分:0)

PNG压缩是无损的,因此无法与JPEG等有损感知压缩方案竞争。请确保您的png是要显示的大小(或者不是:一个简单的“压缩”方案是保存缩小的图像并在显示时缩放它,但这通常不能令人满意)。如果你不能低于24位(你不能去256托盘,我猜)我不认为可以做多少。我只能建议您查看PngCrush

答案 1 :(得分:0)

我以前有同样的问题,但后来我认为flash使用JPEG压缩来处理PNG文件。 JPEG压缩的“png”实际上是标准png格式不支持的变体,但flash支持。在我自己的flash项目中,我经常使用它。我甚至使用swftools从很多png生成一个动画SWF,所以我可以加载单个“png gallery”swf并使用里面的所有png。

答案 2 :(得分:0)

我知道这个问题已经有一年了,但我认为这对未来的参考有好处。使用任何png压缩工具(PngCrush,Optipng)都不会获得与Flash压缩相同的结果。

我发现使用Flash压缩而不在Flash IDE中创建每个swf的最佳方法是使用SwfTools的png2swf实用程序,它将保留alpha通道并允许您设置jpeg的压缩质量。

http://www.swftools.org/png2swf.html