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