java 图片等比缩放
程序员文章站
2024-01-15 19:04:58
...
java 图片等比缩放
java图片等比缩放
这几天在用JFrame 和JLabel 展示图片 然而 图片的缩放是一个小问题, 所以写了一个工具方法 设置图片等比缩放, 方便以后查阅.
Talk is cheap. Show me the code.
直接上代码
// An highlighted block
private static Image changeImage(int cWidth,int cHeight,Image image,boolean isRatio){
//将图片等比缩放到容器矩形内
ImageIcon imageIcon = new ImageIcon(image);
//默认值 强制拉伸
int showWidth = cWidth;
int showHeight = cHeight;
//等比缩放
if(isRatio){
//获得 原宽和原高
int oriWidth = imageIcon.getIconWidth();
int oriHeight = imageIcon.getIconHeight();
if(1.0 * oriWidth/oriHeight >= 1.0 * cWidth/cHeight){
//图片比较宽
showHeight = showWidth * oriHeight / oriWidth;
}else {
//图片比较长
showWidth = showHeight * oriWidth / oriHeight;
}
}
Image scaledInstance = imageIcon.getImage().getScaledInstance(showWidth, showHeight, Image.SCALE_DEFAULT);
return scaledInstance;
}
You can never plan the future by the past.
送给努力的自己.