整理文档,搜刮出一个java实现切图并且判断图片是否是纯色/彩色图片的代码,稍微整理精简一下做下分享。

首先上切图的代码
/**
* 图片剪裁
* @param x 距离左上角的x轴距离
* @param y 距离左上角的y轴距离
* @param width 宽度
* @param height 高度
* @param sourcePath 图片源
* @param descpath 目标位置
*/
public static void imageCut(int x, int y, int width, int height, String sourcePath, String descpath) {
FileInputStream is = null;
ImageInputStream iis = null;
try {
is = new FileInputStream(sourcePath);
String fileSuffix = sourcePath.substring(sourcePath.lastIndexOf(".") + 1);
Iterator<ImageReader> it = ImageIO.getImageReadersByFormatName(fileSuffix);
ImageReader reader = it.next();
iis = ImageIO.createImageInputStream(is);
reader.setInput(iis, true);
ImageReadParam param = reader.getDefaultReadParam();
Rectangle rect = new Rectangle(x, y, width, height);
param.setSourceRegion(rect);
BufferedImage bi = reader.read(0, param);
ImageIO.write(bi, fileSuffix, new File(descpath));
} catch (Exception ex) {
ex.printStackTrace();
} finally {
if (is != null) {
try {
is.close();
} catch (IOException e) {
e.printStackTrace();
}
is = null;
}
if (iis != null) {
try {
iis.close();
} catch (IOException e) {
e.printStackTrace();
}
iis = null;
}
}
}
以上为切图代码,注意:如果不关闭流的话可能会影响其他代码对图片的操作,尤其是删除等操作
再来一个自己写的判断是否是纯色图片的代码,稍微改一下可以用来判断是不是彩色图片
/**
* 判断是否为纯色
* @param imgPath 图片源
* @param percent 纯色百分比,即大于此百分比为同一种颜色则判定为纯色,范围[0-1]
* @return
* @throws IOException
*/
public static boolean isSimpleColorImg(String imgPath,float percent) throws IOException{
BufferedImage src=ImageIO.read(new File(imgPath));
int height=src.getHeight();
int width=src.getWidth();
int count=0,pixTemp=0,pixel=0;
for(int i=0;i<width;i++){
for(int j=0;j<height;j++){
pixel=src.getRGB(i, j);
if(pixel==pixTemp) //如果上一个像素点和这个像素点颜色一样的话,就判定为同一种颜色
count++;
else
count=0;
if((float)count/(height*width)>=percent) //如果连续相同的像素点大于设定的百分比的话,就判定为是纯色的图片
return true;
pixTemp=pixel;
}
}
return false;
}
以上为本人用来判断纯色的代码,逻辑比较简单,具体还要看需求来决定
如果是判断彩色的话,可以试试如下逻辑:
1、如果有N个像素点各不相同的话可以判定为彩色
2、如果图片上有>=N种像素点的话,判断为彩色图片
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# java
# 切图
# java判断图片是不是纯色
# java实现图片裁切的工具类实例
# java实现上传图片进行切割的方法
# Java实现图片切割功能
# 同一种
# 判断是否
# 尤其是
# 上有
# 要看
# 再来
# 于此
# 大家多多
# 各不
# 可以用来
# 上为
# 比为
# 文档
# iis
# ImageInputStream
# substring
# fileSuffix
# String
# int
# null
相关文章:
如何在服务器上三步完成建站并提升流量?
如何通过.red域名打造高辨识度品牌网站?
佛山企业网站制作公司有哪些,沟通100网上服务官网?
如何快速搭建FTP站点实现文件共享?
建站之星2.7模板快速切换与批量管理功能操作指南
nginx修改上传文件大小限制的方法
网站制作的方法有哪些,如何将自己制作的网站发布到网上?
制作网站外包平台,自动化接单网站有哪些?
浙江网站制作公司有哪些,浙江栢塑信息技术有限公司定制网站做的怎么样?
如何用y主机助手快速搭建网站?
如何自定义建站之星模板颜色并下载新样式?
如何打造高效商业网站?建站目的决定转化率
详解jQuery停止动画——stop()方法的使用
Swift中switch语句区间和元组模式匹配
如何将凡科建站内容保存为本地文件?
,网站推广常用方法?
公众号网站制作网页,微信公众号怎么制作?
香港服务器网站生成指南:免费资源整合与高速稳定配置方案
建站之星如何实现PC+手机+微信网站五合一建站?
制作证书网站有哪些,全国城建培训中心证书查询官网?
如何在VPS电脑上快速搭建网站?
重庆市网站制作公司,重庆招聘网站哪个好?
网站制作软件有哪些,制图软件有哪些?
建站之星安装提示数据库无法连接如何解决?
高端网站建设与定制开发一站式解决方案 中企动力
如何高效利用200m空间完成建站?
定制建站流程解析:需求评估与SEO优化功能开发指南
网站制作的软件有哪些,制作微信公众号除了秀米还有哪些比较好用的平台?
赚钱网站制作软件,建一个网站怎样才能赚钱?是如何盈利的?
如何在Golang中使用encoding/gob序列化对象_存储和传输数据
小视频制作网站有哪些,有什么看国内小视频的网站,求推荐?
,购物网站怎么盈利呢?
如何自定义建站之星网站的导航菜单样式?
网站广告牌制作方法,街上的广告牌,横幅,用PS还是其他软件做的?
武汉网站设计制作公司,武汉有哪些比较大的同城网站或论坛,就是里面都是武汉人的?
PHP正则匹配日期和时间(时间戳转换)的实例代码
矢量图网站制作软件,用千图网的一张矢量图做公司app首页,该网站并未说明版权等问题,这样做算不算侵权?应该如何解决?
网站插件制作软件免费下载,网页视频怎么下到本地插件?
如何用景安虚拟主机手机版绑定域名建站?
如何通过西部建站助手安装IIS服务器?
长春网站建设制作公司,长春的网络公司怎么样主要是能做网站的?
如何快速上传自定义模板至建站之星?
如何在香港免费服务器上快速搭建网站?
上海制作企业网站有哪些,上海有哪些网站可以让企业免费发布招聘信息?
如何选择域名并搭建高效网站?
如何正确选择百度移动适配建站域名?
如何零基础开发自助建站系统?完整教程解析
网站制作与设计教程,如何制作一个企业网站,建设网站的基本步骤有哪些?
如何快速搭建自助建站会员专属系统?
小捣蛋自助建站系统:数据分析与安全设置双核驱动网站优化
*请认真填写需求信息,我们会在24小时内与您取得联系。