我有3个相同大小的2D矩阵(假设200行300列)。每个矩阵代表三种“基本”颜色(红、绿、蓝)之一的值。矩阵的值可以介于0和255之间。现在,我想将这些矩阵组合起来,将它们显示为彩色图像(200 x 300像素)。我如何在JAVA中实现它?
发布于 2013-03-10 20:50:04
首先:可以从该值创建颜色,如下所示:
Color c = new Color(red, green, blue, alpha);
请注意:
的值
然后创建新镜像:
BufferedImage image = new BufferedImage(200/*Width*/, 300/*height*/, BufferedImage.TYPE_INT_ARGB);
然后在图像上设置值,如下所示:
image.setRGB(x, y, c.getRGB());这是这个步骤的代码,试一下:
public class Main {
public static void main(String args[]) throws IOException {
int red[][] = new int[200][300];
int green[][] = new int[200][300];
int blue[][] = new int[200][300];
/////////////////set this matrices
BufferedImage image = new BufferedImage(200/*Width*/, 300/*height*/, BufferedImage.TYPE_INT_ARGB);
for (int i = 0; i < 200; i++) {
for (int j = 0; j < 300; j++) {
Color c = new Color(red[i][j], green[i][j], blue[i][j]);
image.setRGB(i, j, c.getRGB());
}
}
ImageIO.write(image, "jpg", new File("/////////////image path.jpg"));
}
}https://stackoverflow.com/questions/15322329
复制相似问题