我创建了一个方法来调整项目资源包中的图像大小,该包保存了我使用的图像和图标。但是,它似乎无法渲染或平滑调整大小。
public Image getResourceImage(String filepath){
Image img = new ImageIcon(getClass().getClassLoader().getResource(filepath)).getImage();
return img;
/* Example usage:
Image loginBg = new ImageMethod().getAssetImage("foldername/filename.extension");
*/
}
以下是原始png图像。
以下是我用于登录面板的已调整大小的版本。
看起来像素化了。考虑到原始图标尺寸为512x512
,有没有办法实现像这样清晰和平滑的东西图标均为PNG格式。
我使用Java中的图像知识有限,所以我很感激任何帮助或建议。
感谢。
我终于解决了它。创建了我的方法的3个版本。
public Image getResourceImage(String filepath){
Image img = new ImageIcon(getClass().getClassLoader().getResource(filepath)).getImage();
return img;
/* Example usage:
Image loginBg = new ImageMethod().getAssetImage("foldername/filename.extension");
*/
}
public ImageIcon getResourceImage(String filepath, JLabel label){
Image rawImage = new ImageIcon(getClass().getClassLoader().getResource(filepath)).getImage();
Image renderedImage = rawImage.getScaledInstance(label.getWidth(), label.getHeight(), Image.SCALE_SMOOTH);
ImageIcon image = new ImageIcon(renderedImage);
return image;
}
public Image getResourceImage(String filepath, JPanel panel){
Image rawImage = new ImageIcon(getClass().getClassLoader().getResource(filepath)).getImage();
Image renderedImage = rawImage.getScaledInstance(panel.getWidth(), panel.getHeight(), Image.SCALE_SMOOTH);
return renderedImage;
}
这肯定会帮助其他人。感谢Obicere的建议。