易语言中知道十进制颜色代码,如何转换为十六进制。?
比如以蓝色为例RGB值是0,0,255易语言中的十进制颜色代码为16711680,直接转换为十六进制结果是FF0000,而FF0000这个值其实是表示颜色的。这是为什么?...
比如以蓝色为例 RGB值是0,0,255 易语言中的十进制颜色代码为16711680,直接转换为十六进制结果是FF0000,而FF0000这个值其实是表示颜色的。这是为什么?还是根本不能直接转换?有什么其他的办法?
不好意思,刚刚有一句话打错了。改正一下:而FF0000这个值其实是表示红色的 展开
不好意思,刚刚有一句话打错了。改正一下:而FF0000这个值其实是表示红色的 展开
1个回答
展开全部
只是排序方式不同,你说的蓝色 RGB值是0,0,255 是一种"红,绿,蓝"排序.
而易语言是"蓝,绿,红"的排序法.对应的值是255,0,0=(FF0000)16=(16711680)10
目前只有这两种排序法.
而易语言是"蓝,绿,红"的排序法.对应的值是255,0,0=(FF0000)16=(16711680)10
目前只有这两种排序法.
追问
那么还请问一下知道十六进制代码如何转换回RGB值
追答
.版本 2
.子程序 _按钮1_被单击
.局部变量 十六进制BGR, 文本型
.局部变量 位数1, 整数型
.局部变量 位数2, 整数型
.局部变量 数值, 整数型
.局部变量 文本, 文本型
.局部变量 RGB, 文本型
十六进制BGR = “0123456789ABCDEF”
编辑框1.内容 = 取文本右边 (“000000” + 编辑框1.内容, 6)
.计次循环首 (3, 位数1)
数值 = 0
.计次循环首 (2, 位数2)
文本 = 取文本中间 (编辑框1.内容, (位数1 - 1) × 2 + 位数2, 1)
.如果真 (寻找文本 (十六进制BGR, 文本, , 真) = -1)
RGB = “你输入的不是十六进制值!”
跳出循环 ()
.如果真结束
.如果 (位数2 = 1)
数值 = 寻找文本 (十六进制BGR, 文本, , 真) - 1
数值 = 数值 × 16
.否则
数值 = 数值 + 寻找文本 (十六进制BGR, 文本, , 真) - 1
.如果结束
.计次循环尾 ()
.如果 (RGB = “”)
RGB = 到文本 (数值)
.否则
RGB = 到文本 (数值) + “,” + RGB
.如果结束
.计次循环尾 ()
编辑框1.内容 = RGB
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询