簡體   English   中英

調整圖像大小以適合JLabel

[英]Resizing image to fit in JLabel

我正在嘗試從目錄加載圖像並將其作為圖標放置在JLabel 但是,當圖像尺寸很大時,它並不能完全適合標簽。 我嘗試調整圖像的大小以適合標簽,但無法正常工作。 我可以知道我要去哪里了嗎?

JFileChooser choose=new JFileChooser();
choose.showOpenDialog(null);
File f=choose.getSelectedFile();
String filename=f.getAbsolutePath();
path.setText(filename);

ImageIcon icon=new ImageIcon(filename);
Image img=icon.getImage();
BufferedImage bi = new BufferedImage(img.getWidth(null), img.getHeight(null),   BufferedImage.TYPE_INT_ARGB);
Graphics g = bi.createGraphics();
g.drawImage(img,500, 500, null);
ImageIcon newIcon = new ImageIcon(bi);
image_label.setIcon(newIcon);
BufferedImage img = ImageIO.read(...);
Image scaled = img.getScaledInstance(500, 500, Image.SCALE_SMOOTH);
ImageIcon icon = new ImageIcon(scaled);

當心,這將縮放圖像,使其為正方形。 看一看Java:維護JPanel背景圖像的長寬比,該主題討論了縮放后圖像的長寬比。

此外,您應該閱讀Image.getScaledInstance()的風險,並查看將ImageIcon自動縮放為標簽大小在調整很低的大小后使用分而治之的縮放算法和圖像質量-Java演示了這樣做的問題一步一步的規模...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM