java bmp 变色_java怎么实现将 bmp图片黑底白字转换为白底黑字?将白色设置为透明色,谢谢...
展开全部
代码如下:package com.baidu.demo019;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.*;
import javax.imageio.ImageIO;
import javax.swing.*;
public class App extends JFrame {
private static final long serialVersionUID = 1L;
public App() {
32313133353236313431303231363533e58685e5aeb931333365663435
this.setSize(500, 500);
this.setLocationRelativeTo(null);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Box box = Box.createVerticalBox();
this.add(box);
// 源图像路径
String imageFile = "images/demo019.bmp";
// 源图像
BufferedImage image1 = getImage(imageFile);
JLabel label1 = new JLabel(new ImageIcon(image1));
JPanel panel1 = new JPanel(new BorderLayout());
panel1.add(label1);
box.add(panel1);
// 转换后的图像
Image image2 = translateImage(image1);
JLabel label2 = new JLabel(new ImageIcon(image2));
JPanel panel2 = new JPanel(new BorderLayout());
panel2.add(label2);
box.add(panel2);
}
BufferedImage getImage(String imageFile) {
BufferedImage image = null;
try {
image = ImageIO.read(new File(imageFile));
} catch (IOException e) {
e.printStackTrace();
}
return image;
}
// 转换图像 黑底白字转换为白底黑字,白色设置为透明色
private Image translateImage(BufferedImage image) {
int width = image.getWidth();
int height = image.getHeight();
BufferedImage target = new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB);
for (int i = 0; i
for (int j = 0; j
int val = image.getRGB(i, j);
int red = (val >> 16) & 0xff;
int green = (val >> 8) & 0xff;
int blue = val & 0xff;
red = 255 - red;
green = 255 - green;
blue = 255 - blue;
int alpha = 0xff;
if ((red + green + blue) / 3 >= 0xff) {
alpha = 0x00;
}
int pixel = (alpha <
target.setRGB(i, j, pixel);
}
}
return target;
}
public static void main(String[] args) {
new App().setVisible(true);
}
}
运行结果:
java bmp 变色_java怎么实现将 bmp图片黑底白字转换为白底黑字?将白色设置为透明色,谢谢...相关推荐
- java bmp 变色_java将图片(jpg/bmp/png)转16位bmp(RBG565)
我们无需将图片(如bmp)的像素信息提取出来后进行左移右移操作,直接使用BufferedImage的构造方法来进行转换即可.步骤如下: BufferedImage获取源图片的数据(支持jpg/png/ ...
- c语言 bmp白底黑字,用c语言把bmp格式的彩色图片转换成黑白的
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 #include #include #include typedef unsigned char BYTE; #define RGB 3.0 #defin ...
- java openoffice 打印_java调用openoffice将office系列文档转换为PDF的示例方法
前导: 发过程中经常会使用java将office系列文档转换为PDF, 一般都使用微软提供的openoffice+jodconverter 实现转换文档. openoffice既有windows版本也 ...
- java抓取图片_java 抓取网页的图片
//只能抓取一部分图片,像折800有些子路径的一行图片代码有好多个img,而且排列不规律,我的能力根本就没法截取下来 package test; import java.io.BufferedOutp ...
- java二进制保存图片_JAVA高级特性——二进制存储图片
import java.io.*;/*** 将图片转为数组,输出成文件,再读取这个文件,获得这个数组,还原成图片 *@authorAdministrator * **/ public classTex ...
- java 屏幕识别_Java课程设计:捕获图片以及识别图中的文字
package屏幕捕捉以及识别;importjava.awt.Color;importjava.awt.FlowLayout;import java.awt.event.*;importjava.aw ...
- java 图像识别包_Java基于百度API的图片文字识别免费源码和jar包
1.准备工作(jdk1.8) 使用之前需要获取对应的项目API_KEY,SECRET_KEY,这些参数在使用API的时候必须用到,用于生成access_token. 如何获取这些参数? 登陆后创建一个 ...
- java swing背景_java Swing中添加背景图片(总结)
在java GUI图形化设计中,Swing组件添加背景图片主要有两中情况:1,在Jpanl面板中添加背景图片,2,在jLable中添加背景图片 首先介绍一种最巧妙的背景图片添加方法, 1.利用JLab ...
- Java 图片处理 白底黑字
原图: . 效果: 代码: public static void main(String[] args) throws IOException {BufferedImage image = Image ...
- java 处理 jSignature 电子签名后 base64 展示出来图片为黑色背景(将黑色背景改成白色)
/*** 保持PNG背景的透明属性(背景不变黑)* @param response* @param byteArray* @throws Exception*/public static void c ...
最新文章
- 计算机中的概念: 视图 VS 镜像
- 在线可玩 | 给AI一张高清照片,分分钟还你细节满满的3D人体模型,GitHub标星3.6k...
- ASP.NET Core身份认证服务框架IdentityServer4(2)-整体介绍
- Velocity模板(VM)语言介绍
- 利用?和 ??简化界面的默认配置/自定义配置
- github 修改fork的代码之后如何提交代码并pull request
- CSS左中右布局,规范案例
- JavaFX UI控件教程(二十四)之Password Field
- C++编译报错:重复定义
- nodeJs 接收请求参数和发送请求参数
- Siri详解之输入系统和活跃本体(转)
- linux内核mtd驱动程序与sd卡驱动程序,Linux内核MTD驱动程序与SD卡驱动程序(2)
- highchart 曲线图
- 杜拉拉升职记摘录:早日实现退休理想--你需要眼光和资格
- 《WebRTC 1.0: Real-Time Communication Between Browsers》学习
- Linux简单介绍(入门)
- 广东省如何办理甲级测绘资质
- 图像解析力算法—SFR(Spatial Frequency Response)概念理解
- 香港十大外汇交易商排名名单2020最新版
- Day03-List、Set、数据结构、Collections
热门文章
- 传国宝玺 第二部 降墓 第十六章 三煞天棺
- 中考考试的指令广播_考试语音指令系统
- 1m照片的宽和高是多少_1M照片是多大
- 三维动画在计算机上的应用,三维动画运用领域有哪些地方?
- 小游戏2048最佳算法怎么实现?思路全解析!
- 课后习题7.11 医院内科有A,B,C,D,E,F,G共7位医生,每人在一周内要值一次夜班,排班的要求是: (1)A医生值班日比C医生晚1天; (2)D医生值班日比E医生晚2天; (3)B医生值班日比
- 笔记本共享网络给台式机
- mysql中explain是什么_MySQL中EXPLAIN的解释_MySQL
- PHP剧影评系统的设计与实现毕业设计源码140859
- 赖美云的认证照_火箭少女最新路透照出炉:吴宣仪赖美云魅力十足,张紫宁傅菁凭颜值圈粉...