java实现切图并且判断图片是不是纯色/彩色图片

发布时间:2020-08-30 15:45:30

来源:脚本之家

阅读:92

作者:点墨花花

整理文档,搜刮出一个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 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

for(int j=0;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实现切图并且判断图片是不是纯色/彩色图片相关推荐

  1. java生成二维码合成背景图

    一.背景 接到个需求,要打印纸质红包,上面附二维码,然后每个红包的二维码不一样,扫描二维码去参加活动领真实的红包,需要给出对应的图片 二.代码示例 import java.awt.Graphics2D ...

  2. Java切图或者判断是不是纯色图片

    文章目录 一.切图代码: 二.判断是否是纯色图片的代码,稍微改一下可以用来判断是不是彩色图片: 一.切图代码: import java.awt.Rectangle; import java.awt.i ...

  3. java生成验证码实例_Java生成验证码功能实例代码

    页面上输入验证码是比较常见的一个功能,实现起来也很简单.给大家写一个简单的生成验证码的示例程序,需要的朋友可以借鉴一下. 闲话少续,直接上代码.代码中的注释很详细. package com.SM_te ...

  4. 完成css的切图 图片任意,css切图是什么意思

    css切图是指DIV CSS开发的意思,表示从一张网页美工图切片到HTML代码开发与CSS样式开发,完成HTML静态网页:css切图包含两部分,分别是:1.网页美工图素材切出:2.DIV+CSS代码开 ...

  5. python cv2读取图片/图片转码/切图/图片格式转换/替换图片内容

    import base64 import cv2 import numpy as np from io import BytesIOclass ImageOperation(object):def _ ...

  6. 【前端开发】关于图片/使用/下载/切图

    图片的使用 浏览器显示图片是从左到右,以底部对齐的,当一行放不下时,则会另起一行. 图片调整大小设置时,若同时设置了宽和高,需注意比例,防止图片变形. 标签属性 title 鼠标滑上去提示文字 alt ...

  7. java生成随机时间_Java生成某段时间内的随机时间

    上代码: import java.text.SimpleDateFormat; import java.util.Date; public class DateUtil { /** * 生成随机时间 ...

  8. java 生成csv文件_Java生成CSV文件实例详解

    本文实例主要讲述了java生成csv文件的方法,具体实现步骤如下: 1.新建csvutils.java文件: package com.saicfc.pmpf.internal.manage.utils ...

  9. java 生成电子合同_java实现电子合同签名

    1.引入docx4j 使用maven仓库引入jar包 ```java org.docx4j docx4j 6.1.2 ``` 2.docx4j配置 可以不添加配置文件,但debug日志会提示找不到do ...

最新文章

  1. js异步提交form表单的解决方案
  2. 操作系统 课堂练习题02【8道 经典题目】
  3. 腾讯+字节+阿里面经真题汇总,Android篇
  4. ipmi对于统一硬件管理的意义
  5. BZOJ2038 小Z的袜子 (莫队算法)
  6. Linux逻辑卷(LVM)技术详解
  7. openstack ha 部署
  8. Spring中的@Autowired,@Qualifier和@Primary注解
  9. 魔兽世界服务器维护后稀有宠物刷新,魔兽世界猎人稀有宠物图签与刷新方式时间介绍...
  10. 学习笔记(六):C++串口连接
  11. Android Toast提示的使用
  12. U盘重装Win10系统视频教程
  13. WebSocket is already in CLOSING or CLOSED state
  14. 30岁学习编程晚么?
  15. Mysql COUNT()条件计数
  16. 为什么要引入齐次坐标,齐次坐标的意义(二)
  17. java实现求最小公倍数_使用Java代码进行因数分解和求最小公倍数的示例
  18. python math ceil_python中math.ceil什么意思
  19. .NET 6 史上最全攻略
  20. 面向对象分析与设计 实验一

热门文章

  1. 用计算机亩换算成平方,亩平米换算(平方米换算亩计算器)
  2. 【Go资料】go语言学习资料书籍
  3. 爱回收上市进程加速:原云集CFO陈晨加盟,转转等强敌环伺
  4. 国企数字化转型的难点及建议
  5. 机器视觉丨环形无影光源丨原理及打光案例
  6. linux 查看声卡设备并测试录音 (ALSA 音频工具)
  7. matlab建模DNA双链,PPT绘制科研图形—DNA双链、分子细胞模型
  8. java 变量类型_Java 变量类型
  9. 河北计算机对口高考数学考试题,2015年河北省对口高考数学试题(含答案)
  10. JQuery基础教程:入门