3

我正在用 j2me 开发游戏。我不需要这个游戏的精灵,我直接画图像。我正在遵循的翻转图像的方法如下。但在设备上,如图 1.1 所示。如何解决这个问题。?请帮忙。

Image.createImage(source,0, 0, source.getWidth(), source.getHeight(), Sprite.TRANS_ROT180);

图 1.0 : 翻转汽车图像之前

在此处输入图像描述

图 1.1 : 翻转汽车图像后

在此处输入图像描述

如图所示,翻转时背景为白色。有没有其他方法可以翻转图像?

车宽为 60x62,带有透明像素。但是当翻转相同的图像时,白色背景的透明度消失了。

4

1 回答 1

3

根据 API 文档,如果原始图像是不可变的,则此版本的Image.createImage有望保持透明度:

对于不可变的源图像,透明度信息(如果有)将原封不动地复制到新图像中。

要找出可能导致翻转图像透明度损失的原因,请检查 1) 源图像是否不可变以及 2) 源图像上的像素是否确实透明(alpha通道值为 0),如图像类Alpha的 API 文档中所述加工部分

可变图像中的每个像素始终是完全不透明的。不可变图像可能包含完全不透明像素...、完全透明像素 (alpha = 0) 和半透明像素...

实现必须支持不可变图像中完全不透明像素和完全透明像素的存储、处理和渲染。从源数据(无论是从 PNG 文件还是从 ARGB 数据数组)创建图像时,源数据中的完全不透明像素必须始终在新图像中产生完全不透明的像素,而在新图像中产生完全透明的像素。源数据必须始终在新图像中产生完全透明的像素......

于 2013-02-11T12:30:00.480 回答