Java ME是否支持0xAARRGGBB颜色格式?我的意思是我可以通过修改像素的alpha值来改变图像的不透明度吗?我使用Graphics和Image类。
答案 0 :(得分:2)
这无疑会因设备而异。为什么不试试呢?
编辑:好的,所以我想你真的想知道怎么做。您需要的方法是Image.getRGB()
- 根据文档:
从中获取ARGB像素数据 指定的图像区域和 将它存储在提供的数组中 整数。存储每个像素值 在0xAARRGGBB格式中,其中 高位字节包含alpha 通道和剩余的字节 包含红色的颜色成分, 分别是绿色和蓝色。该 alpha通道指定不透明度 像素,其值为0x00 表示完全的像素 透明,值为0xFF 表示完全不透明的像素。
修改您想要的像素,然后使用数据使用Image.createRGBImage()
创建新图像。
编辑:规范说所有设备都应该允许alpha操作。
判断他们是否做的一种方法是create a mutable image,g et its graphics object,write some ARGB data to it,然后是read it back,并查看alpha数据是否仍然存在;如果没有,那么你可以打赌不支持alpha透明度。
我所链接的方法应该是你需要做的所有事情,我作为练习留下的实际方法;)