Java 在将映像从磁盘加载到BuffereImage时,如何忽略alpha内容
当前,当我从磁盘加载映像时Java 在将映像从磁盘加载到BuffereImage时,如何忽略alpha内容,java,bufferedimage,Java,Bufferedimage,当前,当我从磁盘加载映像时 BufferedImage img = ImageIO.read(new File("myfile.png"); 生成的颜色空间是ARGB中的一个。我更喜欢的是一个普通的旧RGB,但不必自己过滤 有没有办法以特定的颜色模式打开图像 我不知道如何使用特定的颜色格式打开它,但您可以创建所需格式的新BuffereImage并将旧图像绘制到它上: BufferedImage img2 = new BufferedImage(img.getWidth(), img.getH
BufferedImage img = ImageIO.read(new File("myfile.png");
生成的颜色空间是ARGB中的一个。我更喜欢的是一个普通的旧RGB,但不必自己过滤
有没有办法以特定的颜色模式打开图像 我不知道如何使用特定的颜色格式打开它,但您可以创建所需格式的新BuffereImage并将旧图像绘制到它上:
BufferedImage img2 = new BufferedImage(img.getWidth(), img.getHeight(),
BufferedImage.TYPE_INT_RGB);
Graphics2D g = img2.createGraphics();
g.drawImage(img, 0, 0, null);
g.dispose();
原始图像中的任何透明部分都将在新图像中的黑色背景上绘制。如果您喜欢不同的背景,可以在调用drawImage
之前插入以下行:
g.setColor(Color.white); // or whichever
g.fillRect(0, 0, img.getWidth(), img.getHeight());
是的,请注意默认背景是黑色的+1@MadProgrammer谢谢编辑。