java - 在java中从像素数组创建图像

标签 java image io rgb

这是我的片段。我的原始数组是 a[3][][] 并且 rgb 值存储在那里我想从它们创建一个新图像。以下代码的最后一行导致找不到符号。

BufferedImage img=newBufferedImage(bi.getWidth(),bi.getHeight(),BufferedImage.TYPE_INT_RGB);
for(int r=0; r<bi.getHeight(); r++)
    for(int c=0; c<bi.getWidth(); c++)
    {
        int red=a[0][r][c];
        int green=a[1][r][c];
        int blue=a[2][r][c];
        int rgb = (red << 16) | (green << 8) | blue;
        img.setRGB(c, r, rgb);
    }
ImageIO.write(img,"jpg", "abc.jpg");

有什么建议吗?

最佳答案

您向 ImageIO.write() 传递了错误的参数。来自 the docs ,这里有 3 种可能性:

write(RenderedImage im, String formatName, File output) 
write(RenderedImage im, String formatName, ImageOutputStream output) 
write(RenderedImage im, String formatName, OutputStream output)

如果你想将图像写入一个名为 abc.jpg 的文件,也许可以尝试:

ImageIO.write(img, "jpg", new File("abc.jpg");

关于java - 在java中从像素数组创建图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12584521/

相关文章:

java - 如何仅捕获标记Eclipse JAVA中未警告的错误

java - 创建 java swing 专辑

javascript - 如何在 Javascript 中动态更改图像不透明度

c++ - 如何使用 fgets 获取文本并保存 std::string

c - 如何用C语言读取目录下所有文件的数据?

perl - 管道中的数据是否会排队等待 Perl 读取?

java - Docker:获取部署在 Tomcat 上的服务特定日志

java - 如何用一组数字生成每个整数?

java - Web 服务-用户名 token -根据安全策略验证消息时出错错误代码 :1000

javascript - HTML 将两个 IMG 标签合并为一个