目前,当我从磁盘加载图像时,
BufferedImage img = ImageIO.read(new File("myfile.png");
生成的色彩空间是ARGB之一。我更喜欢的是一个普通的旧RGB,但不需要自己进行过滤。
有没有办法在某种颜色模式下打开图像?
答案 0 :(得分:2)
我不知道用特定颜色格式打开它的方法,但你可以创建一个所需格式的新BufferedImage并将旧图像绘制到它上面:
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());