主题:  关于颜色对象的问题

求可知

职务:普通成员
等级:3
金币:10.0
发贴:718
#12002/6/10 20:15:59
常常看见一些原码里
有myColor.setRGB(128 << 16 | 159 << 8 | 178)
那为什么不直接用16进指表示呢?



janlay

职务:管理员
等级:7
金币:28.0
发贴:7244
#22002/6/10 20:44:23
各有各的写法,这个数值一般是从别的地方获取的,如果刚好得到了一个十进制的数,再转成16进制岂不麻烦



求可知

职务:普通成员
等级:3
金币:10.0
发贴:718
#32002/6/13 16:39:40
斑竹说的对
那么有没有办法将16进制
比如:mycolor.setrgb(0xxxxxxxxx)
转换成mycolor.setrgb(r<<16|g<<8|b)呢?



5D荣誉斑竹

职务:普通成员
等级:2
金币:2.0
发贴:617
#42002/6/13 17:06:53
可能需要自己写一个数值转换的算法
将10进制转换成为16进制,方法大概就是先对其取余,存入数组,在剩下的数求模,如此循环到数字取模为0为止。然后再用数组倒序输出,switch判断10为"A"11为"B",12为"C"以此类推到15为"F",顺序输出存成字符串。8进制,2进制都可以用此法求出。

编辑历史:[这消息被桃人编辑过(编辑时间2002-06-13 17:08:40)]


求可知

职务:普通成员
等级:3
金币:10.0
发贴:718
#52002/6/13 17:08:19
是吗?
看来挺复杂的:-)



janlay

职务:管理员
等级:7
金币:28.0
发贴:7244
#62002/6/13 23:08:00
求可知在上个帖子中说
引用:
斑竹说的对
那么有没有办法将16进制
比如:mycolor.setrgb(0xxxxxxxxx)
转换成mycolor.setrgb(r<<16|g<<8|b)呢?


这样啊,如果有0xaabbcc,直接写就行了:
aa<<16 | bb<<8 | cc



求可知

职务:普通成员
等级:3
金币:10.0
发贴:718
#72002/6/15 16:59:39
但不合哪些作图人的习惯啊:-0



janlay

职务:管理员
等级:7
金币:28.0
发贴:7244
#82002/6/15 20:59:09
不太明白你的意思,你到底要什么效果?



求可知

职务:普通成员
等级:3
金币:10.0
发贴:718
#92002/6/16 8:14:49
求可知在上个帖子中说
引用:
但不合哪些作图人的习惯啊:-0


大错字了:-)
我的意思是一般经常作图的人
比如用photoshop的人,还是习惯用red,green,blur来表示颜色