2

これが私のスニペットです。私の元の配列は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");

助言がありますか?

4

1 に答える 1

1

に間違った引数を渡していますImageIO.write()ドキュメントから、ここに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");
于 2012-09-25T14:05:21.100 に答える