package com.opslab.util.image;
import java.awt.*;
import java.awt.image.BufferedImage;
/**
* 图片相关的操作类
*/
public final class ImageUtil {
/**
* 重新设定图像的长高宽
* @param originalImage 图像数据
* @param width 宽
* @param height 高
* @return
*/
public static BufferedImage imageResize(BufferedImage originalImage, Integer width,Integer height){
if(width <= 0){
width =1;
}
if(height <= 0){
height =1;
}
BufferedImage newImage = new BufferedImage(width,height,originalImage.getType());
Graphics g = newImage.getGraphics();
g.drawImage(originalImage,0,0,width,height,null);
g.dispose();
return newImage;
}
/**
* 按照给点的比例放大图像
* 当缩减比例小于等于0时不发生任何变化
* @param originalImage 图像数据
* @param withdRatio 宽度缩减比例
* @param heightRatio 高度缩减比例
* @return 图像数据
*/
public static BufferedImage imageMagnifyRatio(BufferedImage originalImage, Integer withdRatio,Integer heightRatio){
if(withdRatio <= 0){
withdRatio =1;
}
if(heightRatio <= 0){
heightRatio =1;
}
int width = originalImage.getWidth()*withdRatio;
int height = originalImage.getHeight()*heightRatio;
BufferedImage newImage = new BufferedImage(width,height,originalImage.getType());
Graphics g = newImage.getGraphics();
g.drawImage(originalImage,0,0,width,height,null);
g.dispose();
return newImage;
}
/**
* 按照给点的比例缩小图像
* 当缩减比例小于等于0时不发生任何变化
* @param originalImage 图像数据
* @param withdRatio 宽度缩减比例
* @param heightRatio 高度缩减比例
* @return 图像数据
*/
public static BufferedImage imageShrinkRatio(BufferedImage originalImage, Integer withdRatio,Integer heightRatio){
if(withdRatio <= 0){
withdRatio =1;
}
if(heightRatio <= 0){
heightRatio =1;
}
int width = originalImage.getWidth()/withdRatio;
int height = originalImage.getHeight()/heightRatio;
BufferedImage newImage = new BufferedImage(width,height,originalImage.getType());
Graphics g = newImage.getGraphics();
g.drawImage(originalImage,0,0,width,height,null);
g.dispose();
return newImage;
}
}