这个出来怎么什么效果都没有呀??????图片也不是透明的怎么回事呀???郁闷
import java.io.IOException;
import javax.microedition.lcdui.Canvas;
import javax.microedition.lcdui.Graphics;
import javax.microedition.lcdui.Image;
class TestCanvas10 extends Canvas implements Runnable{
private Image image;
public TestCanvas10()
{
try {
image = Image.createImage("/0.png");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
new Thread(this).start();
}
protected void paint(Graphics g) {
try {
g.setColor(0xffffff);
g.fillRect(0, 0, getWidth(), getHeight());
image =createAlphaImage(image,0xffffffff);
g.drawImage(image, 0, 0, 0);
} catch (Exception ex) {
System.out.println(ex.toString());
}
}
//图片设为透明
private static Image createAlphaImage(Image img, int alphaColor) {
int w =img.getWidth();
int h = img.getHeight();
int[] imgData = new int[w * h];
int a=254;
img.getRGB(imgData, 0, w , 0, 0, w, h);
for (int i = 0; i < imgData.length; i++) {
if ((imgData[i] & alphaColor) == alphaColor) {
imgData[i] = (a<<24 )| (imgData[i] & alphaColor);
}
}
Image immutableImg = Image.createRGBImage(imgData, w, h, true);
return immutableImg;
}
public void run()
{
while(true)
{
repaint();
try
{
Thread.sleep(300000000);
}
catch (InterruptedException e)
{
e.printStackTrace();
}
}
}
}