我通过一些代码使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