MIDP2.0下处理Alpha通道产生半透明效果
 
游戏中经常会用到半透明效果。但MIDP1.0年代似乎只有Nokia和LG两家的扩展API给出了可以处理Alpha通道的API。在MIDP2.0下,我们可以用Image类提供的方法得到一个图片的半透明版本。
        try {
            image=Image.createImage("/ken.png");//载入原图
        }
        catch (IOException e) { }
        int[] argb=new int[image.getWidth()*image.getHeight()];//产生图片数据数组
        image.getRGB(argb,0,image.getWidth(),0,0,image.getWidth(),image.getHeight());//得到ARGB矩阵
        for(int i=0;i<argb.length;i++){
            argb[i]&=0xa0ffffff;//设置每个象素的alpha通道值为a0,正确的做法是不改变那些原本alpha值就为0的透明象素点
        }
        image1=Image.createRGBImage(argb,image.getWidth(),image.getHeight(),true);//产生新的图片
运行的效果如下图:
这样就可以在游戏中实现半透明效果。加上你的天才创意,游戏一定会变的更炫目!
本程序在eclipse3.0+eclipseme0.6+WTK2.2下测试通过。