java 生成纯色图片_java实现切图并且判断图片是不是纯色/彩色图片
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实现切图并且判断图片是不是纯色/彩色图片相关推荐
- java生成二维码合成背景图
一.背景 接到个需求,要打印纸质红包,上面附二维码,然后每个红包的二维码不一样,扫描二维码去参加活动领真实的红包,需要给出对应的图片 二.代码示例 import java.awt.Graphics2D ...
- Java切图或者判断是不是纯色图片
文章目录 一.切图代码: 二.判断是否是纯色图片的代码,稍微改一下可以用来判断是不是彩色图片: 一.切图代码: import java.awt.Rectangle; import java.awt.i ...
- java生成验证码实例_Java生成验证码功能实例代码
页面上输入验证码是比较常见的一个功能,实现起来也很简单.给大家写一个简单的生成验证码的示例程序,需要的朋友可以借鉴一下. 闲话少续,直接上代码.代码中的注释很详细. package com.SM_te ...
- 完成css的切图 图片任意,css切图是什么意思
css切图是指DIV CSS开发的意思,表示从一张网页美工图切片到HTML代码开发与CSS样式开发,完成HTML静态网页:css切图包含两部分,分别是:1.网页美工图素材切出:2.DIV+CSS代码开 ...
- python cv2读取图片/图片转码/切图/图片格式转换/替换图片内容
import base64 import cv2 import numpy as np from io import BytesIOclass ImageOperation(object):def _ ...
- 【前端开发】关于图片/使用/下载/切图
图片的使用 浏览器显示图片是从左到右,以底部对齐的,当一行放不下时,则会另起一行. 图片调整大小设置时,若同时设置了宽和高,需注意比例,防止图片变形. 标签属性 title 鼠标滑上去提示文字 alt ...
- java生成随机时间_Java生成某段时间内的随机时间
上代码: import java.text.SimpleDateFormat; import java.util.Date; public class DateUtil { /** * 生成随机时间 ...
- java 生成csv文件_Java生成CSV文件实例详解
本文实例主要讲述了java生成csv文件的方法,具体实现步骤如下: 1.新建csvutils.java文件: package com.saicfc.pmpf.internal.manage.utils ...
- java 生成电子合同_java实现电子合同签名
1.引入docx4j 使用maven仓库引入jar包 ```java org.docx4j docx4j 6.1.2 ``` 2.docx4j配置 可以不添加配置文件,但debug日志会提示找不到do ...
最新文章
- js异步提交form表单的解决方案
- 操作系统 课堂练习题02【8道 经典题目】
- 腾讯+字节+阿里面经真题汇总,Android篇
- ipmi对于统一硬件管理的意义
- BZOJ2038 小Z的袜子 (莫队算法)
- Linux逻辑卷(LVM)技术详解
- openstack ha 部署
- Spring中的@Autowired,@Qualifier和@Primary注解
- 魔兽世界服务器维护后稀有宠物刷新,魔兽世界猎人稀有宠物图签与刷新方式时间介绍...
- 学习笔记(六):C++串口连接
- Android Toast提示的使用
- U盘重装Win10系统视频教程
- WebSocket is already in CLOSING or CLOSED state
- 30岁学习编程晚么?
- Mysql COUNT()条件计数
- 为什么要引入齐次坐标,齐次坐标的意义(二)
- java实现求最小公倍数_使用Java代码进行因数分解和求最小公倍数的示例
- python math ceil_python中math.ceil什么意思
- .NET 6 史上最全攻略
- 面向对象分析与设计 实验一
热门文章
- 用计算机亩换算成平方,亩平米换算(平方米换算亩计算器)
- 【Go资料】go语言学习资料书籍
- 爱回收上市进程加速:原云集CFO陈晨加盟,转转等强敌环伺
- 国企数字化转型的难点及建议
- 机器视觉丨环形无影光源丨原理及打光案例
- linux 查看声卡设备并测试录音 (ALSA 音频工具)
- matlab建模DNA双链,PPT绘制科研图形—DNA双链、分子细胞模型
- java 变量类型_Java 变量类型
- 河北计算机对口高考数学考试题,2015年河北省对口高考数学试题(含答案)
- JQuery基础教程:入门