У меня есть фрагмент кода, который я использую для изменения размера изображения до размера занавески (я хочу изменить разрешение примерно на 200 точек на дюйм). В основном причина, по которой мне это нужно, заключается в том, что я хочу отобразить изображение, которое выбрал пользователь (несколько большое), а затем, если пользователь одобрит, я хочу отобразить то же изображение в другом месте, но с меньшим разрешением. К сожалению, если я даю ему большое изображение, на экране ничего не появляется. Кроме того, если я изменю
imageLabel.setIcon(newIcon);
to
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. 3) Это 'Swing', а не 'swing'. 4) Чтобы быстрее получить помощь, опубликуйте SSCCE. - person Andrew Thompson   schedule 27.11.2011Image.getScaledInstance()
? - person Jomoos   schedule 27.11.2011