我需要在内在中拼接出一个图像。然后把这人图像送到时客户端。现在拼出的图像的背景都是黑色的,到客户端显示的时候就是一个有黑色方框背景的图片,很是难看。想请教一下怎样把这个黑色的背景去掉?我找了半天就是没有找到相关的资料。
BufferedImage bufFrmImage = new BufferedImage(frameWidth,
frameHeight, BufferedImage.TYPE_INT_ARGB);
Graphics2D g2D = (Graphics2D) bufFrmImage.createGraphics();
g2D.setComposite(AlphaComposite.getInstance(AlphaComposite.CLEAR,
0.0f));
Rectangle2D.Double rect = new Rectangle2D.Double(0, 0, frameWidth,
frameHeight);
g2D.fill(rect);
...下面是画图像的代码....
BufferedImage bufFrmImage = new BufferedImage(frameWidth,
frameHeight, BufferedImage.TYPE_INT_ARGB);
Graphics2D g2D = (Graphics2D) bufFrmImage.createGraphics();
g2D.setComposite(AlphaComposite.getInstance(AlphaComposite.CLEAR,
0.0f));
Rectangle2D.Double rect = new Rectangle2D.Double(0, 0, frameWidth,
frameHeight);
g2D.fill(rect);
...下面是画图像的代码....
int imgHeight = bufFrmImage.getHeight();for (int i = 0; i < imgWidth; i++) {
for(int k = 0; k < imgHeight; k++) {
bufFrmImage.setRGB(i, k, 0x000000);
}
}
rgbArray = new int[1024 * 768];
bi.getRGB(0, 0, 1024, 768, rgbArray, 0, 1024);以后一旦想恢复,直接
bi.setRGB(0, 0, 1024, 768, rgbArray, 0, 1024);
frameHeight, BufferedImage.TYPE_INT_ARGB);
Graphics2D g2D = (Graphics2D) bufFrmImage.createGraphics();
g2D.setBackground(Color.WHITE);
g2D.clearRect(0,0,frameWidth,frameHeight);
//这样就把Graphics清成白色的了