因需要将一张白色背景图片处理为透明色,因此上网上搜了搜处理方案,可以通过ps和其他图片软件,但是我电脑上并没有这两个软件,下载安装太耗时。从网上搜了搜发现原来可以使用 Java 代码进行处理,代码如下:

import java.awt.Graphics2D;

import java.awt.image.BufferedImage;

import java.io.File;

import java.io.IOException;

import javax.imageio.ImageIO;

import javax.swing.ImageIcon;

public class linuxidc {

public static void main(String[] args) throws IOException {

BufferedImage image = ImageIO.read(new File("/home/linuxidc/linuxidc.com/linuxidc.com.jpg"));

// 高度和宽度

int height = image.getHeight();

int width = image.getWidth();

// 生产背景透明和内容透明的图片

ImageIcon imageIcon = new ImageIcon(image);

BufferedImage bufferedImage = new BufferedImage(width, height, BufferedImage.TYPE_4BYTE_ABGR);

Graphics2D g2D = (Graphics2D) bufferedImage.getGraphics(); // 获取画笔

g2D.drawImage(imageIcon.getImage(), 0, 0, null); // 绘制Image的图片

int alpha = 0; // 图片透明度

// 外层遍历是Y轴的像素

for (int y = bufferedImage.getMinY(); y < bufferedImage.getHeight(); y++) {

// 内层遍历是X轴的像素

for (int x = bufferedImage.getMinX(); x < bufferedImage.getWidth(); x++) {

int rgb = bufferedImage.getRGB(x, y);

// 对当前颜色判断是否在指定区间内

if (colorInRange(rgb)) {

alpha = 0;

} else {

// 设置为不透明

alpha = 255;

}

// #AARRGGBB 最前两位为透明度

rgb = (alpha << 24) | (rgb & 0x00ffffff);

bufferedImage.setRGB(x, y, rgb);

}

}

// 绘制设置了RGB的新图片

g2D.drawImage(bufferedImage, 0, 0, null);

// 生成图片为PNG

ImageIO.write(bufferedImage, "png", new File("/home/linuxidc/linuxidc.com/linuxidc.com.png"));

System.out.println("完成画图");

}

// 判断是背景还是内容

public static boolean colorInRange(int color) {

int red = (color & 0xff0000) >> 16;// 获取color(RGB)中R位

int green = (color & 0x00ff00) >> 8;// 获取color(RGB)中G位

int blue = (color & 0x0000ff);// 获取color(RGB)中B位

// 通过RGB三分量来判断当前颜色是否在指定的颜色区间内

if (red >= color_range && green >= color_range && blue >= color_range) {

return true;

}

;

return false;

}

// 色差范围0~255

public static int color_range = 210;

}

处理前后效果对比:

java图片透明_Java实现对图片透明化处理相关推荐

  1. java image 透明_Java实现图片透明效果

    Java实现图片透明效果,从演示截图可看到,上层图片与下层图片互相重叠,也就是上层图片透明了,看到了下层以的图片,具体的代码实现: public class HalfTransparentImageD ...

  2. java 图片合并_Java如何实现图片的叠加与拼接操作

    关于Java实现图片的叠加与拼接的文章网络上确实很多,碰巧小编开发工作中也遇到这些问题,就做了简要的梳理,作为笔记以备不时之需. Java对图片的处理主要使用的是BufferedImage类. Buf ...

  3. java课程设计图片浏览器_java课程设计图片浏览器

    [实例简介] 图片浏览器最基本的功能是能浏览一个目录中的所有图片,并可以点击浏览上一张图片或者下一张图片,还有对图片放大与缩小,或者翻转图片等操作,在这里,实现了图片的浏览功能,导航功能(下一张.上一 ...

  4. JAVA绘制图片原理_java开发_图片截取工具实现原理

    先来看看效果: 测试一: 原图: 效果图: 测试二: 原图: 效果图: 代码部分: /** * */ package com.b510; import java.awt.rectangle; impo ...

  5. java 图片生成器_Java实现的图片生成器

    一.本图片生成器具有以下功能特性: 1.可以设置图片的宽度.高度.外框颜色.背景色: 2.可以设置图片字体的大小.名称.颜色: 3.可以设置输出图片的格式,如JPEG.GIF等: 4.可以将图片存储到 ...

  6. java怎么让图片自适应_Java使背景图片自适应窗体的办法

    添加一个面板,窗体布局设置为BorderLayout.center或者null都可以.在面板上进行重绘的时候,调用用 面板.getsize().getHeight和getWidth方法来设置背景图片大 ...

  7. wps怎么图片透明_Tips:设置图片透明背景

    点击"一只七秒记忆的鱼"关注我 TIPS: 平时在做PPT.H5.长图等等 都会用到"插入图片"功能 一般找到的图片都不是透明背景 那么会产生以下效果,非常影响 ...

  8. java水印透明_java给透明图片加水印

    java实现一张透明背景的图片,添加图片水印 public static void createWaterMarkByIcon(File srcImageFile, File logoImageFil ...

  9. java 盖章透明_java实现图片上传后裁剪,把白色背景变成透明图(电子印章)

    应用场景:企业在白纸上盖上印章,然后软件实现透明的电子印章,在后续业务流程中使用! A4纸-----------------------------------------处理后----------- ...

  10. java 添加图片背景_java添加背景图片

    总结:我们通常实现添加背景图片很容易,但是再添加按钮组件就会覆盖图片.原因是: 有先后啊.setlayout();与布局有很大关系 请调试代码的时候,仔细揣摩.我晕了 还可以添加文本框,密码框 fra ...

最新文章

  1. 力扣(LeetCode)刷题,简单+中等题(第34期)
  2. Flask实战2问答平台-登录限制(装饰器)
  3. javafx 调用java_Java,JavaFX的流畅设计风格滑块
  4. python中request方法_如何使用python语言中的request模块获取代码
  5. 钉钉作弊,被判5年!
  6. 【报告分享】2020年数字政府新基建发展白皮书.pdf(附下载链接)
  7. linux端口连通性测试telnet、wget、ssh、curl
  8. 鞍山楷邦计算机学院,计算机专业和平面设计专业是一个专业不?
  9. Android 详解自定义View抽奖转盘
  10. Android内核剖析pdf
  11. Java实战之管家婆记账系统(3)——数据库表
  12. GMM估计分析步骤及结果解读
  13. Mathtype(2),用于创建此对象的程序是 Equation。您的计算机尚未安装此程序或此程序无响应。
  14. 制造业如何做好数字化转型
  15. 让Oracle高效并行执行的13个必备知识点
  16. DOS命令行 定时关机取消定时关机
  17. px、em、rem单位间的区别
  18. 关于CCS中配置DSP时用到的.gel文件
  19. Java基础 Stream流方法引用异常文件
  20. python学习第二天

热门文章

  1. rp文件,怎么用浏览器预览
  2. 微信⼩程序——wxParse使⽤⽅法
  3. Android 四大组件面试
  4. 几款常用的ble调试app(nRF Connect、BLE调试助手、LightBlue)
  5. linux 键盘映射修改
  6. 伍德里奇计量经济学导论pdf_伍德里奇 计量经济学导论(第六版) 第3章
  7. 傻瓜式Git提交代码流程【写给初学者】
  8. 虚拟机实验Windows10备份和还原
  9. git 某个文件回退到指定版本
  10. iftables 官方文档