Java 如何使用GetScaleImage缩放图像?

Java 如何使用GetScaleImage缩放图像?,java,swing,jlabel,imageicon,Java,Swing,Jlabel,Imageicon,这就是我尝试使用getScaledInstance()缩放图像的内容。但这不是缩放图像。有人能纠正这个代码吗 BufferedImage image = ImageIO.read(new File("img.jpg")); JLabel picLabel = new JLabel(new ImageIcon(image)); image=(BufferedImage)image.getScaledInstance(50,50, Image. SCALE_SMOOTH); add(picLabel

这就是我尝试使用getScaledInstance()缩放图像的内容。但这不是缩放图像。有人能纠正这个代码吗

BufferedImage image = ImageIO.read(new File("img.jpg"));
JLabel picLabel = new JLabel(new ImageIcon(image));
image=(BufferedImage)image.getScaledInstance(50,50, Image. SCALE_SMOOTH);
add(picLabel);

创建新图像不会更新图像图标。更改代码的顺序:

//BufferedImage image = ImageIO.read(new File("img.jpg"));
//JLabel picLabel = new JLabel(new ImageIcon(image));
Image image = ImageIO.read(new File("img.jpg"));
image=image.getScaledInstance(50,50, Image. SCALE_SMOOTH);
JLabel picLabel = new JLabel(new ImageIcon(image));
add(picLabel);

编辑:您发布的原始代码甚至不会执行。无法将缩放图像强制转换为BuffereImage。我更新了代码以解决执行问题。

创建新图像不会更新图像图标。更改代码的顺序:

//BufferedImage image = ImageIO.read(new File("img.jpg"));
//JLabel picLabel = new JLabel(new ImageIcon(image));
Image image = ImageIO.read(new File("img.jpg"));
image=image.getScaledInstance(50,50, Image. SCALE_SMOOTH);
JLabel picLabel = new JLabel(new ImageIcon(image));
add(picLabel);

编辑:您发布的原始代码甚至不会执行。无法将缩放图像强制转换为BuffereImage。我更新了代码以解决执行问题。

我完成了这项工作,现在工作正常。:)


我完成了这项工作,现在工作正常。:)


原始代码的问题是,它甚至不会执行,因为您无法将缩放的图像强制转换为BuffereImage。我更新了我的原始答案。您的原始代码的问题是它甚至无法执行,因为您无法将缩放图像强制转换为BuffereImage。我更新了我的原始答案。