校验图片的大小、尺寸、比例
上传图片除了基本得 大小校验之外,特殊还需要对图片得 尺寸像素,像素比例进行校验 ,下边是相关校验
1 尺寸校验,也就是图片得像素 ,是否满足规定得大小
/**
* .
* @Description: 作用: 上传图片宽度和高度都小于等于规定最大值
* @Author: LXT
* @Date: 2022/3/3 16:44
* @param file 入参 文件
* @param imageWidth 入参 图片宽度
* @param imageHeight 入参 图片高度
* @return boolean 是否满足
*/
public static boolean checkImageElement(File file, int imageWidth, int imageHeight) throws IOException {
Boolean result = false;
if (!file.exists()) {
return false;
}
BufferedImage bufferedImage = ImageIO.read(file);
int width = bufferedImage.getWidth();
int height = bufferedImage.getHeight();
logger.info("图片宽高---" + width + "---" + height);
logger.info("规定宽高---" + imageWidth + "---" + imageHeight);
if (bufferedImage != null && height == imageHeight && width == imageWidth) {
result = true;
}
return result;
}
简单得很,就是数值比对
2 图片的比例校验
/**
* .
* @Description: 作用: 校验图片比例
* @Author: LXT
* @Date: 2022/3/3 16:49
* @param file 入参 图片
* @param imageWidth 入参 图片宽度
* @param imageHeight 入参 图片高度
* @return boolean 是否满足
*/
public static boolean checkImageScale(File file, int imageWidth, int imageHeight) throws IOException {
Boolean result = false;
if (!file.exists()) {
return false;
}
BufferedImage bufferedImage = ImageIO.read(file);
int width = bufferedImage.getWidth();
int height = bufferedImage.getHeight();
if (imageHeight != 0 && height != 0) {
int scale1 = imageHeight / imageWidth;
int scale2 = height / width;
logger.info("规定图片比例" + scale1);
logger.info("实际图片比例" + scale2);
if (scale1 == scale2) {
result = true;
}
}
return result;
}
这个也简单 就是除法算比例
3 图片大小
自行百度,不同限制单位,有不同得计算方式