java怎么实现将 bmp图片黑底白字转换为白底黑字?将白色设置为透明色,谢谢
代码如下:
禄劝网站建设公司成都创新互联,禄劝网站设计制作,有大型网站制作公司丰富经验。已为禄劝上1000+提供企业网站建设服务。企业网站搭建\成都外贸网站建设要多少钱,请找那个售后服务好的禄劝做网站的公司定做!
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() {
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 width; i++) {
for (int j = 0; j height; 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 24) | (red 16) | (green 8) | (blue);
target.setRGB(i, j, pixel);
}
}
return target;
}
public static void main(String[] args) {
new App().setVisible(true);
}
}
运行结果:
java颜色代码
setTextColor(0xFF0000FF);
//0xFF0000FF是int类型的数据,分组一下0x|FF|0000FF,0x是代表颜色整 数的标记,ff是表示透明度,0000FF表示颜色,注意:这里0xFF0000FF必须是8个的颜色表示,不接受0000FF这种6个的颜色表示。
setTextColor(Color.rgb(255, 255, 255));
setTextColor(Color.parseColor("#FFFFFF"));
//还有就是使用资源文件进行设置
setTextColor(this.getResources().getColor(R.color.blue));
//通过获得资源文件进行设置。根据不同的情况R.color.blue也可以是R.string.blue或者
//另外还可以使用系统自带的颜色类
setTextColor(android.graphics.Color.BLUE);
Android Studio 编写java代码的时候,代码不同颜色是什么意思???? 求大神解答!!
黄色高亮的是系统中的关键字,白色是类名,灰色是普通变量。
谁能帮我解读这段 java代码
帮你加了注释,看不看得懂要看你自己
public void hao() {
table.getTableHeader().setReorderingAllowed(false);//设置用户是否可以拖动列头,以重新排序各列。
table.getTableHeader().setResizingAllowed(false);//设置用户是否可以通过在头间拖动来调整各列的大小。
table.setEnabled(false);//设置是否启用此组件。
TableColumn column = null;
for (int i = 0; i 7; i++) { //设置列宽为60
column = table.getColumnModel().getColumn(i);
column.setPreferredWidth(60);
}
DefaultTableCellRenderer tcr = new DefaultTableCellRenderer() { //自定义绘制表格内容的方式
@Override
//table就是你要绘制的表格,value是单元格的值,isSelected表示表格单元格是否选中,hasFocus表示单元格是否有焦点,row表示单元格是第几行
//column表示单元格处于第几列
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
if ((column == 0) || column == 6) {
setBackground(Color.red);//这里设置第0列和第六列的单元格背景色为红色
} else {
setBackground(Color.white); //其他单元格设为白色
}
return super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
}
};
for (int i = 0; i 7; i++) {
table.getColumn(name[i]).setCellRenderer(tcr);//这里设置上面定义好的绘制单元格的类
}
}
分享文章:java白色代码 java浅蓝色代码
地址分享:http://lswzjz.com/article/doogjsg.html