import java.awt.image.BufferedImage;

import java.io.File;

import java.io.IOException;

import javax.imageio.ImageIO;

public class CheckImagesFormatUtil {

/**

* 图片的像素判断

* @param file 文件

* @param imageWidth 图片宽度

* @param imageHeight 图片高度

* @return true:上传图片宽度和高度都小于等于规定最大值

* @throws IOException

*/

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();

if (bufferedImage != null && height == imageHeight && width == imageWidth) {

result = true;

}

return result;

}

/**

* 校验图片比例

* @param file 图片

* @param imageWidth 宽

* @param imageHeight 高

* @return true:符合要求

* @throws IOException

*/

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;

if (scale1 == scale2) {

result = true;

}

}

return result;

}

/**

* 校验图片的大小

* @param file 文件

* @param imageSize 图片最大值(KB)

* @return true:上传图片小于图片的最大值

*/

public static boolean checkImageSize(File file, Long imageSize) {

if (!file.exists()) {

return false;

}

Long size = file.length() / 1024; // 图片大小

Long maxImageSize = SettingUtils.get().getMaxImageSize(); // 图片最大不能超过5M

if (maxImageSize == null) {

maxImageSize = 5 * 1024L;

} else {

maxImageSize = maxImageSize * 1024;

}

if (size > maxImageSize) {

return false;

}

if (imageSize == null) {

return true;

}

if (size.intValue() <= imageSize) {

return true;

}

return false;

}

}

java验证图片大小_java 校验图片的大小、尺寸、比例相关推荐

  1. java验证json合法性_java校验json字符串是否合法

    /** * 用于校验一个字符串是否是合法的JSON格式 * */ import java.text.CharacterIterator; import java.text.StringCharacte ...

  2. java 验证手机号格式_java 校验手机号格式

    主要用到这两个包: import java.util.regex.Matcher; import java.util.regex.Pattern; Pattern类用于创建一个正则表达式,生成一个Pa ...

  3. Java实现微信小程序校验图片是否含有违法违规内容

    文章目录 1.Java实现微信小程序校验图片是否含有违法违规内容(security.imgSecCheck) 2.接口文档简述 3.Java实现对接接口 4.压缩图片(Thumbnails) 5.整合 ...

  4. java 图片水印_JAVA实现图片水印

    一.JAVA图片水印实现原理 1.1.JAVA图片水印实现思路 1.创建缓存图片对象. 2.创建Java绘图工具对象. 3.使用绘图工具对象将原图绘制到缓存图片对象. 4.使用绘图工具将水印(文字/图 ...

  5. java制作水效果_java实现图片加水印效果

    图片加水印代码,这些代码不常用,但是用到的时候需要注意的地方也挺多的,每次都重写比较麻烦,记下来备忘.代码是图片加水印的一般流程,可根据实际项目需要自行修改. 注:代码在JPG和PNG格式图片下测试通 ...

  6. java 修改图片分辨率_java 修改图片的像素大小,清晰度

    修改图片的像素,清晰度 代码 /** * 改变图片 像素 * * @param file * @param qality 参数qality是取值0~1范围内 清晰程度 数值越小分辨率越低 * @par ...

  7. java实现图片验证码_JAVA实现图片验证码

    一.创建image工具类 import javax.imageio.ImageIO; import java.awt.*; import java.awt.image.BufferedImage; i ...

  8. background图片叠加_java实现图片的叠加效果

    实现效果图 这个效果的实现思路是: 1.先准备一张背景图,像素自己去定.像素越高最后生成的图片会更清晰,当然图片也会越大,注意这个背景图一定要是png格式的,要放用户头像的位置要镂空,透明的. 至于为 ...

  9. linux脚本制定java堆大小_Java使用比堆大小更多的内存(或正确的Docker内存限制大小)...

    Java使用比堆大小更多的内存(或正确的Docker内存限制大小) 对于我的应用程序,Java进程使用的内存远远超过堆大小. 容器正在运行的系统开始出现内存问题,因为容器占用的内存比堆大小多得多. 堆 ...

最新文章

  1. Pytorch使用CPU运行“Torch not compiled with CUDA enabled”
  2. TLS--线程局部存储
  3. [Leedcode][JAVA][第1300题][转变数组后最接近目标值的数组和][前缀和][二分法][暴力]
  4. php铺满,重复铺满水印 - Jun. - OSCHINA - 中文开源技术交流社区
  5. 主成分分析(PCA)方法
  6. MySQL筛选重复数据
  7. 分享AceAdminUI后台框架-你喜欢吗?
  8. 万里航行总舵手——业务测试架构的设计
  9. 精简版vb6.0开发入门必备
  10. 第三次面试题目 (反省中!!)
  11. java 获取微信公众号文章 使用搜狗微信搜索
  12. 计算机课件制作总结,多媒体课件制作的学习心得
  13. 销量反弹,高管离职,苹果真的要改变高定价策略了?
  14. Yocto系列讲解[理论篇] 3 - meta layer recipe class概念介绍
  15. Swift - 微信聊天群头像实现 (群聊的组合头像)
  16. ARKit 又添新实例:iPhone 上看 Falcon 9 火箭回收
  17. 大数据应用统一集成平台CDAP简介
  18. 浅谈C语言嵌入式系统编程注意事项
  19. java sdk完整单机下载地址_Java SDK下载方法
  20. 计算机类说课优秀模板,全国“xx杯”计算机类教师说课大赛一等奖作品说课精品模板(一).ppt...

热门文章

  1. windows bat更改系统时间 同步internet时间
  2. Python数据分析——matplotlib
  3. 文明与征服平民武将搭配,教你克敌制胜
  4. Linux远程操作(rcp/rsh)命令实战
  5. js加载第三方字体,检测加载完成事件
  6. CSS3 低多边形(Low Poly)设计及开发实例 - 简单的字母
  7. python爬app西瓜视频_Python爬虫工程师面试题,采集头条西瓜视频
  8. 什么是SEO,为什么要做SEO?
  9. 和Ajax斗志斗勇的日子
  10. 快递电子面单批量打印接口对接demo-JAVA