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