我正在开发j2me游戏。我不需要这个游戏的精灵,我直接画图像。我跟随翻转图像的方法如下。但在设备上,如图1.1所示。如何解决这个问题。请帮忙。
Image.createImage(source,0, 0, source.getWidth(), source.getHeight(), Sprite.TRANS_ROT180);
图1.0:在翻转汽车图像之前
图1.1:翻转汽车图像后
如图所示,背景为白色。还有其他方法可以翻转图像吗?
车宽为60x62,透明像素。但是,如果翻转相同的图像,透明度将以白色背景消失。
答案 0 :(得分:3)
根据API文档,如果原始图像不可变,则此版本的Image.createImage应保持透明度:
对于不可变的源图像,透明度信息(如果有)将不变地复制到新图像。
要找出可能导致翻转图像失去透明度的因素,请检查1)源图像是否不可变; 2)源图像中的像素是否确实透明(alpha
通道值为0),如所解释的在Image类的API文档中,Alpha Processing section:
可变图像中的每个像素始终是完全不透明的。不可变图像可能包含完全不透明像素的组合......,完全透明像素(alpha = 0)和半透明像素......
实现必须支持完全不透明像素的存储,处理和渲染以及不可变图像中的完全透明像素。从源数据创建图像时(无论是来自PNG文件还是来自ARGB数据阵列),源数据中的完全不透明像素必须始终在新图像中生成完全不透明的像素,并且完全透明源数据中的像素必须始终在新图像中生成完全透明的像素 ...