Java 更改ImageIcon的大小
我有一张表格。在我的Jtable(第一列)中,我设法将一个图像从我的目录路径存储导入到一个文本文件中Java 更改ImageIcon的大小,java,swing,jtable,imageicon,Java,Swing,Jtable,Imageicon,我有一张表格。在我的Jtable(第一列)中,我设法将一个图像从我的目录路径存储导入到一个文本文件中 model.addRow(new Object[]{ new ImageIcon(value[1]), value[2], value[0], value[3],
model.addRow(new Object[]{
new ImageIcon(value[1]),
value[2],
value[0],
value[3],
value[4],
});
但是图像大小太大,它只能在表列的有限空间中显示部分图像
如何将图像大小调整为高度=100,宽度=100。首先加载图像,然后执行以下操作
Image scaledIm = orignalIm.getScaledInstance(100, 100, Image.SCALE_SMOOTH);
ImageIcon icon = new ImageIcon(scaledIm);
或者使用另一个渲染提示值首先加载图像,然后执行以下操作
Image scaledIm = orignalIm.getScaledInstance(100, 100, Image.SCALE_SMOOTH);
ImageIcon icon = new ImageIcon(scaledIm);
或者使用另一个渲染提示值来调整图标的大小并不简单。您需要使用Java的二维图形来缩放图像
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;
}
调整图标的大小并不简单。您需要使用Java的二维图形来缩放图像
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;
}
第一个参数是一个图像类,您可以很容易地从ImageIcon类获得它。您可以使用ImageIcon类加载图像文件,然后简单地调用getter方法来获取图像。第一个参数是一个图像类,您可以从ImageIcon类轻松获取该类。您可以使用ImageIcon类加载图像文件,然后简单地调用getter方法来获取图像。