我在 Gimp2 中创建了一个简单的图标并对其进行了转换,因此我可以将其显示在标签上。
图标是这样的:
public static final byte[] RedButton16 =
{
71, 73, 70, 56, 57, 97, 16, 0,
16, 0, -95, 2, 0, 0, 0, 0,
-1, 0, 0, -1, -1, -1, -1, -1,
-1, 33, -7, 4, 1, 10, 0, 2,
0, 44, 0, 0, 0, 0, 16, 0,
16, 0, 0, 2, 37, -108, 29, -87,
113, -67, -97, 28, -124, 6, 76, 42,
-18, -76, -6, -15, -82, 124, 96, 32,
-126, 101, 119, 106, 64, -118, -79, 79,
-27, 70, -57, -102, 2, -51, 76, -45,
119, 1, 0, 59
};
要将图标加载到标签中,我使用以下代码:
private ImageIcon getRedIcon()
{
if(MainPanel.mRedIcon == null)
MainPanel.mRedIcon = new ImageIcon(GUIIcons.RedButton16);
return MainPanel.mRedIcon;
}
foo()
{
mStatusLabel.setIcon(getRedIcon());
}
我可以看到屏幕上的图标,但颜色不对。当我使用外部查看器查看它时,它看起来就像我创建它一样。红色或绿色(我有两个版本,都是 GIF 文件)并且都有相同的问题。我认为 alpha 通道可能存在问题,但我不知道出了什么问题以及如何修复它,或者 Java 如何解释数据。我必须修复图像,还是必须在 Imageloader 上设置一些选项?
更新
我在这里上传了图片。我如何创建它们以及它们在我的 Java 应用程序中的屏幕显示方式。