0

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

4

2 回答 2

0

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

于 2013-06-26T19:47:47.670 回答
0

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

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

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

于 2013-11-26T13:43:07.220 回答