首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在JAVA中用3个矩阵分别显示R、G、B值表示的图像

如何在JAVA中用3个矩阵分别显示R、G、B值表示的图像
EN

Stack Overflow用户
提问于 2013-03-10 20:41:20
回答 1查看 3K关注 0票数 1

我有3个相同大小的2D矩阵(假设200行300列)。每个矩阵代表三种“基本”颜色(红、绿、蓝)之一的值。矩阵的值可以介于0和255之间。现在,我想将这些矩阵组合起来,将它们显示为彩色图像(200 x 300像素)。我如何在JAVA中实现它?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-03-10 20:50:04

首先:可以从该值创建颜色,如下所示:

Color c = new Color(red, green, blue, alpha);

请注意:

  1. red
  2. green的值,
  3. blue是Matrics3

的值

然后创建新镜像:

BufferedImage image = new BufferedImage(200/*Width*/, 300/*height*/, BufferedImage.TYPE_INT_ARGB);

然后在图像上设置值,如下所示:

代码语言:javascript
复制
image.setRGB(x, y, c.getRGB());

这是这个步骤的代码,试一下:

代码语言:javascript
复制
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"));
    }
}
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15322329

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档