我通过一些代码使java图像的某些部分变得透明,它在我制作的笔记本电脑上运行良好,但在其他部分没有,为什么?

时间:2012-03-31 13:25:36

标签: java eclipse image transparency

没有透明度的图像在其他笔记本电脑中不可见。

当我创建一个新的Eclipse项目时:

  • 当我在单独的类文件中复制粘贴代码时,它在我的机器上运行正常,但在其他机器上运行正常,具有相同的代码和项目设置。
  • 不会复制bin中的图像,我必须单独复制图像。

以下是用于透明度的代码。

public static class Transparency 
    {
          public static Image makeColorTransparent(Image im, final Color color) 
          {
            ImageFilter filter = new RGBImageFilter() 
            {
                  public int markerRGB = color.getRGB() | 0xFF000000;

                  public final int filterRGB(int x, int y, int rgb) 
                  {
                    if ( ( rgb | 0xFF000000 ) == markerRGB ) 
                    {
                      // Mark the alpha bits as zero - transparent
                      return 0x00FFFFFF & rgb;
                    }
                    else 
                    {
                      // nothing to do
                      return rgb;
                    }
                 }
            }; 

        ImageProducer ip = new FilteredImageSource(im.getSource(), filter);
        return Toolkit.getDefaultToolkit().createImage(ip);
        }
    }

我想制作多人游戏。所以它应该在其他笔记本电脑上运行至关重要......

1 个答案:

答案 0 :(得分:0)

通过使图像bmp / png文件格式解决问题,适用于两种comps,使用 ImageIO.read获取bmp imagw