BufferedImage不作为图像返回

时间:2015-04-16 16:29:27

标签: java image graphics draw bufferedimage

我有一种在bufferedimage中绘制图像的方法,但是当我返回bufferedimage时,它只显示为200×200的黑色正方形而不是其中的图像,这被认为是金鱼。这是我的代码:

    Image returnGoldfish() {
    BufferedImage bufferedImage = new BufferedImage(200, 200, BufferedImage.TYPE_3BYTE_BGR);
    Graphics g = bufferedImage.getGraphics();

    g.drawImage(imageFishy, x1, y1, null);

    return bufferedImage;
    }

如果有人知道我做错了什么,请帮忙。谢谢。此外,我的图像设置正确。

Image imageFishy = new ImageIcon("I://Picture//fishy.jpg").getImage();

当我将其绘制为imageFishy而没有bufferedImage时,它会显示在paint中。

1 个答案:

答案 0 :(得分:1)

您遇到困难的原因是因为您没有处置Graphics对象。

Image returnGoldfish() {

BufferedImage bufferedImage = new BufferedImage(200, 200, BufferedImage.TYPE_3BYTE_BGR);

Graphics g = newImage.createGraphics();
g.drawImage(imageFishy, x1, y1, null);
g.dispose();

return bufferedImage;
}

假设x1,y1和imageFishy是正确且存在的。