游戏中经常会用到半透明效果。但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下测试通过。
