我有一段代码,用于调整图像大小以达到特定的尺寸(我想将分辨率更改为200 dpi之类的)。基本上我需要这个代码是因为我想显示用户选择的图像(相对较大),如果用户同意,我想在另一个地方以较低的分辨率显示相同的图像。不幸的是,如果我给它一个大图像,屏幕上什么也没有显示。同时,如果我更改了标签,那么代码就无法正常工作。
我能看到图片的显示,但分辨率不对,这表明问题出现在代码片段中而不是其他地方。请参考以下翻译:
imageLabel.setIcon(newIcon);
为了
imageLabel.setIcon(icon);
我能看到图片的显示,但分辨率不对,这表明问题出现在代码片段中而不是其他地方。请参考以下翻译:
我能够显示图片,但分辨率不正确,因此我知道问题出现在此代码片段中而不是其他地方。
Image img = icon.getImage();
BufferedImage(img.getWidth(null), img.getHeight(null), BufferedImage.TYPE_INT_ARGB);
BufferedImage bi = new BufferedImage(img.getWidth(null), img.getHeight(null), BufferedImage.TYPE_INT_ARGB);
Graphics g = bi.createGraphics();
boolean myBool = g.drawImage(img, 0, 0, 100, 100, null);
System.out.println(myBool);
ImageIcon newIcon = new ImageIcon(bi);
imageLabel.setIcon(newIcon);
submitText.setText(currentImagePath);
imageThirdPanel.add(imageLabel);
ImageIcon newIcon = new ImageIcon(bi);
之前的所有内容都是AWT,而不是Swing。Image.getScaledInstance()
? - Jomoos