手机站
网通分站
电信主站
密 码:
用户名:
当前位置 : 主页>程序设计>Java技术>列表

MIDP2.0中对图片象素级处理(3)

来源:互联网 作者:west263.com 时间:2008-02-23
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!

在我们的游戏里面经常会需要把当前的场景绘制成一个灰度的场景,比如说当角色死亡的时候没,我们会把场景弄成一个灰色,那么怎么实现一个灰色的场景呢,一个办法就是做一个灰色的图片,把他画上去,但是这样会占用我们JAR文件的大小,那么我们现在来了解一下怎么把一个彩色的图片绘制成一个灰色的图片。

我们的灰度图片和彩色图片一样,也是由RGB三原色组成的,但是灰度图片有一个特点,那就是他的RGB3个值是相等的,但是我们的彩色图片RGB3个值之间没有特别的关系,所以我们要做的就是把彩色图片中RGB3个值改成一个相等的值,改成一个什么样的值呢,我们只要求出彩色图片的RGB3个值的平均值,然后把RGB都改成这个平均值就好了。

先取出RGB3个值

r = (argb[i] & 0x00FF0000)>>16;//获得red

g = (argb[i] & 0x0000ff00)>>8;//获得green

b = argb[i] & 0x000000ff;//获得blue

然后求r,g,b的平均值

temp = (r g b)/3;

再合并出新的象素值:

r = temp<<16;

文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!