欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

rgb颜色分量的旋转_RGB分量之偏色与彩色图片转黑白

发布时间:2025/3/21 编程问答 42 豆豆
生活随笔 收集整理的这篇文章主要介绍了 rgb颜色分量的旋转_RGB分量之偏色与彩色图片转黑白 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

颜色对于制作脚本来说是至关重要的,找图找字找色都需要使用到颜色。所以,对颜色的认识是也是非常重要的。

颜色知识大解剖

颜色是由三原色混合形成的】

* 即红、绿、蓝。三原色可以混合出所有的颜色。

* 我们通常把三原色简称为RGB(R、G、B是红(Red)、绿(Green)、蓝(Blue)的缩写)

* R的值区间是 0~255 这是十进制,转换成十六进制就是:00-FF (G、B也是一样)

RGB

*我们前面说,一个颜色是由三原色RGB构成的,例如白色(R、G、B值都为255时显示白色):

*十六进制表示:FFFFFF (十六进制一共有六位,每两位表示一个原色)

*十进制表示:255,255,255

按键精灵颜色表示格式BGR

应该有很多童鞋都知道,其实,我们按键的颜色表示并不是RGB的顺序来表示的,按键使用的表示方式是BGR,把R和B的位置互换了。

所以,有的时候,我们可能会遇到这样的情况:

甲:“为什么!为什么我用XX颜色工具获取到的颜色不能识别!”

乙:“哎呀,你看看你代码啊,那么乱说不定哪里错了。”

甲:“滚!给我圆滚滚的滚!哥的代码虽乱但那都是精华,怎么会错。"

甲因为不知道颜色知识,不知道按键颜色排列是BGR,也不知道xx颜色工具获取的颜色排列是RGB,所以苦恼了很久都没有找到问题所在。

RGB颜色格式转换为BGR

如果我们遇到这样的情况怎么办呢?其实,解决方法不麻烦,你看,一个BGR 一个RGB,就是把RB的位置调换了而已,那再把它调回来不就得了么?

问题是……要怎么个调法?

例如:FF0033

我们的思维很快,一秒钟就换过来了,RGB变成BGR 前后两位互调,那就是3300FF

换成代码思路也不麻烦:

1、获取颜色值:FF0033

2、用字符处理函数分割获取到的颜色值:FF|00|33 分别赋值给变量 R、G、B

3、将RGB三个字符变量合成,顺序为BGR

那么生成代码就是这个样子:

sColor = "FF0033"

LenRGB = Len(sColor)

R= Mid(sColor, 1, 2)

G= Mid(sColor, 3, 2)

B= Mid(sColor, 5, 2)

MessageBox "BGR:" &B & G&R

//按键中还有个更方便的命令,不过这个命令,分出来的值是十进制的值:

GetColor ="FF0033"

Call Plugin.Color.ColorToRGB(GetColor, R, G, B)

Msgbox " R:" & R & vbcrlf & " G:" & G & vbcrlf & " B:" & B


RGB分量之偏色

大漠找字中的偏色

上面说到,把颜色分割成RGB三原色(分割颜色又称为分量),那么,分割颜色除了转换RGB,BGR还有其它的功用吗?

答案是肯定的,应该有很多童鞋都使用过大漠工具,在大漠工具找字里,可以设置偏色。

偏色是什么呢?就是设定一个颜色范围,当获取的颜色在这个范围内的时候都能找到。

偏色,听起来很深奥的样子,它其实就是由我们的RGB分量来实现的。

偏色大致思路:

1、设置颜色范围 例如:0000FF-FFFFFF

2、 获取颜色值,并且使用ColorToRGB 命令把颜色值进行分量,赋值给变量R、G、B

3、获取颜色范围0000FF,用colorToRGB命令将它分量,赋值给变量R1、G1、B1

4、获取颜色范围FFFFFF,用colorToRGB命令将它分量,赋值给变量R2、G2、B2

5、判断颜色值是否超过设定的范围

参考代码如下:

  • min = "0000FF "
  • max ="FFFFFF"
  • GetColor=GetPixelColor(0, 0) //获取指定点点颜色
  • Call Plugin.Color.ColorToRGB(GetColor, R, G, B) //将得到的颜色进行分割
  • Msgbox "RGB值:"& R&
  • 《新程序员》:云原生和全面数字化实践50位技术专家共同创作,文字、视频、音频交互阅读

    总结

    以上是生活随笔为你收集整理的rgb颜色分量的旋转_RGB分量之偏色与彩色图片转黑白的全部内容,希望文章能够帮你解决所遇到的问题。

    如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。