0
我的Java初学者尝试将.PNG
8356 X 5092像素加载到一个JFrame 720×600加载缓冲图像到一个JLabel在JScrollPane中
我可以加载图像,但它放大到左上角,希望使.PNG
适合JFrame,然后用鼠标点击并用鼠标滚动进行缩放。
我一直在寻找约2周的答案,但无济于事。 只是想一个好推到正确的方向...
干杯
编辑
好吧,我得到了图像加载和规模大小通过做:
public Image ScaledImage(Image img, int w, int h) {
BufferedImage resizedImg = new BufferedImage(w, h, BufferedImage.TYPE_INT_RGB);
Graphics2D g2 = resizedImg.createGraphics();
g2.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BILINEAR);
g2.drawImage(img, 0, 0, w, h, null);
g2.dispose();
return resizedImg;
}
并将其传递给JLabel,例如:
BufferedImage Map = ImageIO.read(new File(.PNG-LOCATION));
ImageIcon icon = new ImageIcon(ScaledImage(Map, 720, 600));
JLabel Label = new JLabel();
Label.setIcon(icon);
现在只是需要帮助或缩放指导下,单击拖动
感谢您的帮助
您是否尝试过调整的PNG? – betontalpfa
不,我没有,因为我不知道从哪里开始 – DrenReaver
你可以先查找“resize bufferedimage java”,这可能会或可能不会导致你回答这个问题:http://stackoverflow.com/questions/9417356/bufferedimage -resize – domsson