利用颜色分量来识别处理偏色
本文由按键学院提供技术支持
按键学院交流群(1群已满):376122403
零基础学按键精灵群(2群):372671254
关于偏色的处理,一直都是童鞋们在编写脚本的重要部分。相信不少的的童鞋多少都会处理偏色的问题,但是今天小编给大家带来一种很有效的偏色处理方法, 利用这种处理方法,可以很轻松、准确的识别差别比较大的偏色。让偏色不再成为让你头疼的问题。 |
首先,让大家看几种颜色,看看大家能不能分辨出来这个是什么颜色:
- 您所在的用户组无法下载或查看附件
那这种是什么颜色:
- 您所在的用户组无法下载或查看附件
这种呢?
- 您所在的用户组无法下载或查看附件
我相信童鞋们很快能分辨的出,
这几种都是属于红色。同样是红色,但是也会分成很多不同的色调,我们在编写代码的时候就需要去考虑把这些颜色都认定成同一种颜色,这样才能进行判断。
有点童鞋看到这里可能就傲娇的说“不就是加偏色识别嘛!很简单啊,颜色命令里都有识别精确度的设置,还有偏色计算器也可以做到处理偏色,你的方法有啥好处!”确实,通过上面的方法都是可以处理偏色,但是精确度设置如果调低了,那可能会识别出错,并且耗时增加。而偏色计算器,可能有点刚接触按键的同学还不太会用。并且还要各种取色神马的,各种折腾啊……
小编这里介绍的方法只要写成函数丢到代码里,需要的时候调用下就OK了,不需要借助工具,也不用费劲各种取色。要理解这个代码,我们就得对颜色进行一些分析
我们一般使用的颜色都是有 R(红)、G(绿)、B(蓝)构成的,也就是三原色。三个颜色所占的比例不同,也就构成了不同的颜色 |
比如
这个红色
- 您所在的用户组无法下载或查看附件
它的RGB值分别是 255、104、104
这个绿色
- 您所在的用户组无法下载或查看附件
它的RGB值分别是 47、210、108
这个蓝色
- 您所在的用户组无法下载或查看附件
它的RGB值分别是 67、147、245
童鞋们发现了他们的规律了么?
简单的来说就是如果是红色,那他的R值所占的比例就会比其他的两个值大,同样道理绿色他的G值的比例就会比其他的值大
这样我们就可以通过判断RGB颜色的比例,来识别出他是属于什么颜色的了。方法11、先把获取到的颜色拆分成RGB分量 2、分别计算每个分量在颜色中所占的比例 3、对颜色比例进行判断,如果R比例多,那就说明这个颜色是红色 |
- Function 色系识别(颜色)
- //使用颜色插件命令把颜色拆分成RGB值
- Call Plugin.Color.ColorToRGB(颜色, R, G, B)
- //计算每个分量所占的比例
- 权值 = R + G + B
- CR = R / 权值
- CG = G / 权值
- CB = B / 权值
- //判断每个分量比例
- //当分量所占比例大于40%时就表示当前颜色属于对应的颜色
- If CR > 0.4 Then
- If abs(cg - cb) < 0.1 Then
- 色系识别 = "红色"
- End If
- End If
- If CG > 0.4 Then
- If abs(cr - cb) < 0.1 Then
- 色系识别 = "绿色"
- End If
- End If
- If CB > 0.4 Then
- If abs(cg - cr) < 0.1 Then
- 色系识别 = "蓝色"
- End If
- End If
- End Function
复制代码 方法2- Function 色系识别(颜色)
- //使用颜色插件命令把颜色拆分成RGB值
- Call Plugin.Color.ColorToRGB(颜色, R, G, B)
- //计算每个分量所占的比例
- 权值 = R + G + B
- CR = R / 权值
- CG = G / 权值
- CB = B / 权值
- //当分量的值大于其他两个分量的值的时候就表示当前颜色属于对应的颜色
- If (CR > CG) and (CR > CB) Then
- If abs(cg - cb) < 0.1 Then
- 色系识别 = "红色"
- End If
- End If
- If (CG > CR) and (CG > CB) Then
- If abs(cr - cb) < 0.1 Then
- 色系识别 = "绿色"
- End If
- End If
- If (CB > CG) and (CB > CR) Then
- If abs(cg - cr) < 0.1 Then
- 色系识别 = "蓝色"
- End If
- End If
- End Function
复制代码这次介绍的处理偏色的方法可以很好的利用在判断血条之类的地方 |
现在的游戏一般都会对血条蓝条之类的地方“duang~~duang~~duang~~”的加一些特效什么的。比如会加一些液态的流动效果,颜色渐变效果什么的。
比如这种:
- 您所在的用户组无法下载或查看附件
这些变化很多,但是基本上有变化也都是会在同一个色系里变化,比如都是红色,只是有的地方是粉红有的地方是暗红。
这种情况下使用这里介绍的偏色处理就非常的简便有效了。偏色相关院刊:【院刊】-【201502期】HSV搞定偏色,简单暴-力!
showtopic.aspx?topicid=559642&forumpage=1&page=1院刊目录showtopic.aspx?topicid=549014&forumpage=1&page=1
谢谢大家阅读,记得给小编送支花花 ! 顺手点个赞
[tr=rgb(143, 188, 143)] | 按键精灵免费公开课 | 实战班:回合制通用教学火热报名 |
【听课对象】:对按键精灵感兴趣的同学们都可以来~ 【上课地点】:零基础学按键精灵群(372671254) 【上课时间】:周天晚上19:30-21:00 【上课内容】:按键精灵脚本基础经验谈——图色命令
| 本期重点:回合制游戏--神武 学习时效:终生有效 上课时间:周2、周4、周6的 20:00--22:00 导师:工程师07 技术支持:果儿(院刊编辑) |
点我进入按键学院报名啦 招生细节进群咨询招生办主任:2群-372671254(优先加入) 1群-376122403
|