缓冲图像未作为图像返回



我有一种在缓冲图像中绘制图像的方法,但是当我返回缓冲图像时,它只是显示为 200 x 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。

您遇到困难的原因是您没有处理 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是适当的并且存在。

相关内容

  • 没有找到相关文章

最新更新