2011-05-20 269 views
2

Java ME是否支持0xAARRGGBB颜色格式?我的意思是我可以通过修改像素的alpha值来改变图像的不透明度吗?我使用Graphics和Image类。ARGB颜色格式

回答

2

这无疑会因设备而异。为什么不试试看看?

编辑:好,所以我想你想知道如何做到这一点。则需要的方法是Image.getRGB() - 按照文档:

从该图像的 指定区域获得ARGB像素数据和 将其存储所提供的 整数数组英寸每个像素值以0xAARRGGBB格式存储为 ,其中 高位字节包含字母 通道,其余字节 分别包含红色, 绿色和蓝色的颜色分量。 Alpha通道指定像素的不透明度,其中值0x00 表示完全透明的像素,值0xFF 表示完全不透明的像素。

修改您想要的像素,然后使用数据使用Image.createRGBImage()创建新图像。

编辑:规范说,所有的设备应该允许alpha操作。

一种方式来告诉他们是否做与否是create a mutable image,克et its graphics objectwrite some ARGB data to it,然后read it back,并查看是否alpha数据仍然存在;如果没有,那么你可以赌alpha透明不支持。

我联系的方法应该是所有你需要做这个,实际的方法,我离开作为练习;)

+0

我正在开发用于支持MIDP 2.0的所有设备的通用应用程序,所以我不限于特定的设备型号。我的目的是通过修改不透明度值来创建玻璃效果。你有什么建议? – 2011-05-20 10:26:43

+0

+1文件,但如果目标设备不支持alpha值会怎么样?我需要改变它以创建一个不透明的图像。 – 2011-05-20 10:40:28

+0

对不起,我不能投票,直到获得15声望。:) – 2011-05-20 10:49:32