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

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

当我创建一个新的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); } } 

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

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