Android - 使用.gif制作的Draw on Canvas

时间:2013-06-26 03:02:20

标签: android canvas bitmap gif

我有一个自定义视图,通常我使用.png文件在画布上绘制并且工作正常,但现在我的要求是使用.gif文件,由于某种原因,相同的代码将无法正常工作。有没有特定的.gif文件,不允许Android画布对象在它们上制作的位图上绘制?

2 个答案:

答案 0 :(得分:0)

显然,您无法在从.gif文件创建的画布上绘图。一旦我能够将.gif转换为.png,我就可以再次在画布上绘制。

答案 1 :(得分:0)

实际上,我可以在画布上绘制GIF文件,但所有透明颜色都会变成白色!我认为这只是一个bug,与Bitfactory.Options中的新参数inPremultiplied有关,可能没有经过正确的测试。

我对此感到非常沮丧,因为现在我必须在以前的所有应用程序中用PNG替换GIF。 (修复以下版本中的错误没有任何区别,因为仍然会有模型,不支持GIF透明度。)

确实GIF文件有自己的优势。它不支持alpha或真彩色,但它具有透明索引,在许多情况下它实际上是需要的。如果你希望PNG文件的大小 大于GIF(我认为这是使用GIF而不是PNG的主要原因),请将PNG文件从真彩色转换为索引(彩色图)格式(大多数图形编辑器,包括GIMP和Photoshop支持),它与KitKat配合使用。你仍然会失去规模,但不会超过1%。