问题描述
当我在这里运行示例时:https://haxe.org/manual/target-flash-resources.html
然后使用 http://www.swftools.org 处理输出 swf,png 文件嵌入了“DEFINEBITSJPEG2”标签
我如何告诉 Haxe 嵌入带有“DEFINEBITSLOSSLESS2”标签的 png 文件?
解决方法
似乎编译器检测到 PNG based on header(因此最好仔细检查该文件实际上是 PNG),如果是,则为 tries to store it as BitsLossless2
(不知道该标签是否与 { {1}}),但对于超过一定大小的 24 位 PNG 似乎有一个例外,它确实回落到 BitsLossless
(原因我不太明白)。您应该会看到一条警告,告诉您添加 Alpha 通道。我建议尝试一下。
如果所有其他方法都失败了,您可以使用 resources 代替,即 embedded as BinaryData
。使用 BitsJPEG2
,您会得到一个 haxe.Resource.getBytes(nameOfTheResource).getData()
,您可以通过 flash.utils.ByteArray
将其粘贴到 flash.display.Loader
中。