1.bufferimagetype_int_rgb和argb的区
2.java å¦ä½ç¨BufferedImageç»åºå¾å
bufferimagetype_int_rgb和argb的区
您要问的是bufferimagetype_int_rgb和argb的区别吗?像素排列顺序,透明度控制。
1、需要看源码吗像素排列顺序:bufferimagetype_int_rgb表示红色、绿色和蓝色三个通道的asp源码怎么设置像素值按照排列顺序分别存储,即每个像素的debug源码怎么用三个通道值按照RGB顺序存储,而argb表示一个像素的四个通道:透明度、红色、绿色和蓝色,按照ARGB的顺序存储,argb比rgb多了一个透明度通道。
2、透明度控制:argb表示中最后一个通道是cpa任务分销源码透明度,用于控制像素的透明度级别,透明度值为0表示完全透明,完整聚合支付源码表示完全不透明,而bufferimagetype_int_rgb则不包含透明度通道,所有的像素都是完全不透明的。
java å¦ä½ç¨BufferedImageç»åºå¾å
drawimageé½æ¯å¯¹Image对象å¤çï¼åç»ä»¶çç»å¶ä¸ç¹å ³ç³»ä¹æ²¡;ænewImageçå¾åç»å°imageéé¢å»;
å®ä¾ä»£ç å¦ä¸ï¼
public class Tank extends JFrame {
private Image img = null;
boolean fi = false;
BufferedImage bi;
public Tank() {
this.addKeyListener(new KeyMonitor());
this.setBounds(, , , );
this.setVisible(true);
this.setDefaultCloseOperation(Tank.EXIT_ON_CLOSE);
}
class KeyMonitor extends KeyAdapter {
@Override
public void keyPressed(KeyEvent e) {
switch (e.getKeyCode()) {
case : {
img = getToolkit().createImage("res/TankPic/pre.GIF");
fi = true;
System.out.println(img);
repaint();
break;
}
}
}
}
public void paint(Graphics g) {
super.paint(g);
bi = new BufferedImage(getSize().width, getSize().height, BufferedImage.TYPE_INT_ARGB);
bi.getGraphics();
if (fi) {
g = img.getGraphics();
g.drawImage(bi, , , , , this);
}
}
public static void main(String[] args) {
new Tank();
}
}