图像和图形Java

时间:2011-01-03 08:00:16

标签: java image graphics

HY, 我对图形有点疑问。我有一个像我这样调整大小的图像:

Image BigImage = img.getScaledInstance(115, 154, java.awt.Image.SCALE_SMOOTH);

我尝试将其绘制在图形上:

g2.drawImage(BigImage, 0, 0, null);

遗憾的是,它不起作用。 它只有在我添加 ImageIcon te = new ImageIcon(BigImage);

时才有效
Image BigImage = img.getScaledInstance(115, 154, java.awt.Image.SCALE_SMOOTH);
ImageIcon te = new ImageIcon(BigImage);
g2.drawImage(BigImage, 0, 0, null);

你知道为什么吗?你还有另一种方法吗?

2 个答案:

答案 0 :(得分:1)

我现在不能说你的代码无效,但是你可以使用this drawImage method直接绘制图像的缩放实例。它对我有用。

答案 1 :(得分:1)

部分Image.getScaledInstance()州的文件。

  

即使原始源图像已经完全加载,也可以异步加载新的Image对象。

(我的重点)

解决问题的一种方法是将图像添加到MediaTracker以确保在渲染之前加载它。但最重要的是,不要在paint()/ paintComponent()方法中执行任何操作,这是我怀疑给出的代码片段。 ImageIcon的实例化可能会使执行速度变慢,足以使图像加载。

我将提供的另一个提示是,如果您发布SSCCE,您会尽快得到更好的帮助。这对于基于图像的示例特别有用,因为如果您将热链接到网络上可用的图像,我们可以看到重新调整图像的大小。 ;)