【问题标题】:Android - Draw on Canvas made from .gifAndroid - 在由 .gif 制成的画布上绘图
【发布时间】:2013-06-23 01:08:17
【问题描述】:

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

【问题讨论】:

    标签: android canvas bitmap gif


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

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

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

      【讨论】:

      • 我实际上在 android 文档中读到他们不支持使用 gif。您可以使用它们,但建议使用其他任何东西。
      猜你喜欢
      • 2021-07-15
      • 1970-01-01
      • 2014-03-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多