【问题标题】:Black bars on transparency in gif when displaying in Java?在Java中显示时gif透明度上的黑条?
【发布时间】:2015-08-04 19:16:51
【问题描述】:

对于我们的高级 Java 课程的项目,我和一群朋友正在构建一个格斗游戏。为了显示字符,我们将动画 gif 保存到 ImageIcons 中,然后在我们正在使用的面板的 paintComponent 方法中

icon.paintIcon(this.getAssociatedGamePanel(), g, getLeftSide(), getTopY());

显示图标,因为这是我能找到的最简单的显示图标的方法。唯一的问题是某些 gif 将在部分透明胶片上显示奇怪的黑条。例如, http://i.stack.imgur.com/yAjZY.gif

是我们的低踢动图。当我们在 Java 中显示它时,它看起来像这样: http://i.stack.imgur.com/W6HBb.png

我尝试过使用各种 gif 优化工具,确保我完全擦除了透明度以及其他各种东西,但无法让条消失。一种图像优化工具将条形变白,但这是我唯一能做的事情。为了摆脱黑条,我可以尝试哪些方法?

【问题讨论】:

  • 我只是在猜测,因为我没有时间通过​​太多的 atm,但我会说你的 gif 和你正在绘制的画布的大小是不同的。只是为了测试,我建议将 gif 拉伸到画布的大小。如果可行,只需回溯并解决问题。

标签: java graphics photoshop gif animated-gif


【解决方案1】:

@wewtaco,我注意到您的 PNG 文件比 Gif 文件具有更宽的尺寸,我猜这可能是黑条出现的原因。您可以尝试保持相同的大小或相同的图标视图区域...看看是否可以解决...此外,PNG文件不是背景透明...它可能带有原始来源的一些颜色..这可能是另一个原因。

【讨论】:

    猜你喜欢
    • 2011-06-09
    • 2014-01-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-10
    • 1970-01-01
    • 1970-01-01
    • 2013-11-30
    相关资源
    最近更新 更多