画像のサイズをカーテンサイズに変更する目的で使用しているコードスニペットがあります(解像度を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);