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
注:把答案粘贴上就给分!!! 展开
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
注:把答案粘贴上就给分!!! 展开
5个回答
展开全部
unsigned byte = byte & 0xFF,0~255的颜色用byte-128~127表示 其中0~127对应0~127 ,-128~-1 对应128~255。
计算机中负值是通过补位的方式进行换算。
计算机中负值是通过补位的方式进行换算。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
unsigned byte = byte & 0xFF
0~255的颜色用byte-128~127表示
其中0~127对应0~127
-128~-1 对应128~255
0~255的颜色用byte-128~127表示
其中0~127对应0~127
-128~-1 对应128~255
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我记得可以是int的吧
Color(int r, int g, int b)
用指定的红色、绿色和蓝色值创建一种不透明的 sRGB 颜色,这三个颜色值都在 0-255 的范围内。
float的也可以啊
Color(int r, int g, int b)
用指定的红色、绿色和蓝色值创建一种不透明的 sRGB 颜色,这三个颜色值都在 0-255 的范围内。
float的也可以啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
RGB可以使用int和float来表示的,不是byte,所以255是足够的,JAVA的颜色谁说的只支持避byte类型,你可以去查下API就知道了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2009-08-22
展开全部
j2me一切都从节约资源出发.哈哈..??
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询