У меня есть фрагмент кода, который я использую для изменения размера изображения до размера занавеса (я хочу изменить разрешение примерно на 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);