如何调整JLabel ImageIcon的大小?
我正在制作一个具有以下布局(MigLayout)
的Java Swing应用程序:
[icon][icon][icon][....]
where icon = jlabel and the user can add more icons
当用户添加或删除图标时,其他图标应该缩小或增大。
我的问题非常简单:我有一个包含;如何调整此图标的大小?JLabel
ImageIcon
我正在制作一个具有以下布局(MigLayout)
的Java Swing应用程序:
[icon][icon][icon][....]
where icon = jlabel and the user can add more icons
当用户添加或删除图标时,其他图标应该缩小或增大。
我的问题非常简单:我有一个包含;如何调整此图标的大小?JLabel
ImageIcon
试试这个 :
ImageIcon imageIcon = new ImageIcon("./img/imageName.png"); // load the image to a imageIcon
Image image = imageIcon.getImage(); // transform it
Image newimg = image.getScaledInstance(120, 120, java.awt.Image.SCALE_SMOOTH); // scale it the smooth way
imageIcon = new ImageIcon(newimg); // transform it back
(在这里找到它)
调整图标大小并不简单。您需要使用Java的图形2D来缩放图像。第一个参数是 Image 类,您可以轻松地从类中获取该类。您可以使用 class 加载图像文件,然后只需调用 getter 方法即可获取图像。ImageIcon
ImageIcon
private Image getScaledImage(Image srcImg, int w, int h){
BufferedImage resizedImg = new BufferedImage(w, h, BufferedImage.TYPE_INT_ARGB);
Graphics2D g2 = resizedImg.createGraphics();
g2.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BILINEAR);
g2.drawImage(srcImg, 0, 0, w, h, null);
g2.dispose();
return resizedImg;
}