Java中用byte对RGB表示大于127时怎么办

Java好像没有无符号数。那RGB最大值是255.按理说一个byte类型就能表示完,但byte有符号数最大是127。那怎样对应呢?应该怎么处理呢。Java颜色数组好像只支... Java好像没有无符号数。那RGB最大值是255.按理说一个byte类型就能表示完,但byte有符号数最大是127。那怎样对应呢?应该怎么处理呢。
Java颜色数组好像只支持byte类型。
详细一点:是J2ME的3D顶点颜色数组中。只能用byte型,不然抛出:
java.lang.IllegalArgumentException:
at javax.microedition.m3g.VertexBuffer.setColors(+5)。
查了一下:VertexBuffer.setColors中the component size must be 8 bits!
请问怎么表示出大于127的值呢?

在csdn上找到了答案:

unsigned byte = byte & 0xFF

0~255的颜色用byte-128~127表示
其中0~127对应0~127
-128~-1 对应128~255

注:把答案粘贴上就给分!!!
展开
 我来答
小傻

2015-07-15 · 知道合伙人软件行家
小傻
知道合伙人软件行家
采纳数:11567 获赞数:31136
已经做过两个上架的app和两个网页项目.

向TA提问 私信TA
展开全部
unsigned byte = byte & 0xFF,0~255的颜色用byte-128~127表示 其中0~127对应0~127 ,-128~-1 对应128~255。
计算机中负值是通过补位的方式进行换算。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
校水凡2C
2009-08-22
知道答主
回答量:14
采纳率:0%
帮助的人:0
展开全部
unsigned byte = byte & 0xFF

0~255的颜色用byte-128~127表示
其中0~127对应0~127
-128~-1 对应128~255
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
freish
2009-08-21 · TA获得超过2878个赞
知道大有可为答主
回答量:3153
采纳率:0%
帮助的人:2705万
展开全部
我记得可以是int的吧
Color(int r, int g, int b)
用指定的红色、绿色和蓝色值创建一种不透明的 sRGB 颜色,这三个颜色值都在 0-255 的范围内。

float的也可以啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
品浪农3560
2009-08-21 · TA获得超过213个赞
知道答主
回答量:368
采纳率:0%
帮助的人:268万
展开全部
RGB可以使用int和float来表示的,不是byte,所以255是足够的,JAVA的颜色谁说的只支持避byte类型,你可以去查下API就知道了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2009-08-22
展开全部
j2me一切都从节约资源出发.哈哈..??
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式