我有一段代码,用于将图像调整为窗帘尺寸(我想将分辨率更改为 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);