java 图片 白边_java 去除图片白边 两种方法的比较
swt 下的图片处理:
ImageData ideaImageData = new ImageData(path);
ideaImageData = getWhite(ideaImageData);
ideaImageData.transparentPixel = ideaImageData.palette.getPixel(new RGB(255, 255, 255));
Image fullImage = new Image(container.getDisplay(), ideaImageData);
Label label = new Label(container, SWT.NONE);
label.setImage(fullImage);
//-----------------------------------------------------------------
效果不错
public ImageData getWhite(ImageData imageData) {
int threshold = 220;
RGB white = new RGB(255, 255, 255);
for (int i = 0; i < imageData.width; i++) {
for (int j = 0; j < imageData.height; j++) {
RGB rgb = imageData.palette.getRGB(imageData.getPixel(i, j));
if (rgb.red > threshold && rgb.green > threshold && rgb.blue > threshold)
imageData.setPixel(i, j, imageData.palette.getPixel(white));
}
}
return imageData;
}
效果比较差
public ImageData toPureWhite(ImageData imageData) {
int redShift = imageData.palette.redShift;
int greenShift = imageData.palette.greenShift;
int blueShift = imageData.palette.blueShift;
int[] lineData = new int[imageData.width];
int r, g, b, pixelValue;
for (int y = 0; y < imageData.height; y++) {
// Analyze each pixel value in the line
imageData.getPixels(0, y, imageData.width, lineData, 0);
for (int x = 0; x < lineData.length; x++) {
pixelValue = lineData[x];
r = pixelValue & redShift;
g = (pixelValue & greenShift) >> 8;
b = (pixelValue & blueShift) >> 16;
System.out.println("r=" + r + " g=" + g + " b=" + b);
if (r >= 230 && g > 230 && b > 150)
imageData.setPixel(x, y, 0xFFFFFF);
}
}
return imageData;
}
java 图片 白边_java 去除图片白边 两种方法的比较相关推荐
- java 取随机整数_Java获取随机整数的两种方法
方式一: 使用 Random 类 举例:获取 0~3 范围内(包括 0 和 3 )的 int 类型的随机数 Random random = new Random(); System.out.print ...
- java整型转换为数组_基于java中byte数组与int类型的转换(两种方法)
java中byte数组与int类型的转换,在网络编程中这个算法是最基本的算法,我们都知道,在socket传输中,发送.者接收的数据都是 byte数组,但是int类型是4个byte组成的,如何把一个整形 ...
- java word转pdf,docx4j转pdf,docx4j导出pdf乱码,docx4j导出pdf丢失插画和图片,aspose将word转pdf 一共两种方法
前言:一共有docx4j转pdf,aspose转pdf两种方式,不需要设置模板!!! java转pdf目前本人使用有两种方法,下面是方法代码 ps:因为本人是云桌面开发,所以只作截图,具体代码需要自己 ...
- 图片轮播的实现(详解两种方法)
今天带来的是前端里图片轮播的实现,可以说,这两种方法都很简单,尤其第一种,只要是有点基础的应该都可以看懂,这也是小编花费了一定时间想到的代码较少的方式.(图片我放在文末了) 当然也有更复杂的图片,也会 ...
- java多线程同步的四种方法_java中实现多线程的两种方法
java多线程有几种实现方法,都是什么?同步有几种实java中多线程的实现方法有两种:1.直接继承thread类:2.实现runnable接口:同步的实现方法有五种:1.同步方法:2.同步代码块:3. ...
- java构建json_Java构造和解析Json数据的两种方法详解一
在www.json.org上公布了很多JAVA下的json构造和解析工具,其中org.json和json-lib比较简单,两者使用上差不多但还是有些区别.下面首先介绍用json-lib构造和解析Jso ...
- xp系统网页java不显示,xp系统打开jsp文件的两种方法
使用xp系统的时候会碰到各种文件,比如png.log.exe等等,一位用户说遇到后缀名是jsp的文件,jsp文件是什么?有什么作用呢?jsp格式文件是一种动态网页技术标准,是用java script脚 ...
- html 图片透明字不透明,CSS实现背景图片透明,文字不透明效果的两种方法
项目中经常会用到背景图上放一些文字介绍,这里介绍两种技术来实现背景图片透明,文字不透明效果,记录一下,方便日后学习. 1.毛玻璃效果:背景图 + 伪类 + flite:blur(3px) .demo1 ...
- 图片怎么转换成PDF格式?这两种方法赶紧记下
怎么把图片转换成PDF文件格式呢?大家在整理很多张图片的时候,对于一些比较粗心的小伙伴来说非常困难,因为太容易出现错误了,不是照片丢失就是排序出现了问题.针对这种问题,有一个很好的解决方法就是将这些图 ...
- 图片怎么转换成PDF格式?这两种方法都可以实现转换
怎么把图片转换成PDF格式呢?大家在日常中也会经常使用到图片,不管是出门游玩还是办公学习,图片都会给我们带来极大的便利.但是一旦图片的数量多了起来,我们又不能删除,那么这些图片的存放就是一个关键的问题 ...
最新文章
- 代理上网环境下配置TortoiseCVS
- Python实战之logging模块使用详解
- POJ 2389 Bull Math(大数乘大数)
- Node_MongoDB
- 手写Python中列表和字符串的反转
- SpringBoot高级-消息-JMSAMQP简介
- 2013 8.1 第五课网络设备对应ois
- Linux系统下Configure命令参数解释说明
- Solidworks二次开发 Addin模版使用
- python 基于onvif协议 修改摄像头分辨率亮度等操作(window版本
- 修改计算机照片格式怎么修,电脑上如何修改照片文件大小?2种免费方法简单解决...
- 网卡驱动的队列数据的接收e100
- ZIP文件夹解压小程序
- python 爬虫 ip池维护思路
- 如何设计可靠性UDP传输协议?
- XSS漏洞利用——键盘记录
- 构建安全可靠的微服务 | Nacos 在颜铺 SaaS 平台的应用实践
- SQL语句查询不同年龄段人数
- 基于ssm的crm系统开源_基于云的CRM软件工具
- 系统环境变量Path 被删除了 Win10的环境变量 PATH 列表显示:
热门文章
- Windows系统下安装配置 MinGW-w64 开发环境
- redis分布式锁--》死锁问题解决策略研究
- matlab f检验 f值,如何用matlab进行F检验
- Google Chart API学习(二)
- linux+gps测试流程图,GPS测试标准与测试项目简介
- 几款浏览器兼容性测试工具
- ABAC相关标准在数据服务中的应用——XACML和NGAC的比较
- NDK at ...Android\Sdk\ndk\21.1.6528147 did not have a source.properties file
- 计算机开机过程英语怎么说,电脑开机显示一段英文,求解大神
- 【成电860考研】《软件工程》-anki卡片知识合集-504张卡片-28000字-上岸资料整理