Adobe Fireworks是一款由 Macromedia 公司发布的图形编辑软件,专门用于网络图形设计,替代传统的Photoshop制作 GIF 动画以及完成大图切割、动态按钮、动态翻转图等。
这不,作者这次在用fireworks制作本站logo(如上图)的过程中,就碰到了一个问题:需要将“凯鸽高分子”这几个字的颜色设置为下面的这种粉色(这里我暂且叫它为粉吧,作者乃色盲一个~-~)。在自带的颜色品种中,我们并没有看到这个颜色,与此同时,作者也没有看到颜色取色器这个功能,也就是说,我们不能直接取到我们想要的这个颜色。(通常,颜色取色器可以直接取颜色,指哪取哪…)
那么细心的朋友们可能会想到:咱们Windows系统自带的画图软件不就有(颜色取色器)这个功能吗?
好了,这思路有了,那就开干吧。心动不如行动,实践才出真知!打开Windows自带的画图软件,打开logo图片文件,点击–颜色取色器。在下面的粉色图案那里点击一下,颜色就取出来了。然后,我们选中刚取出来的这个颜色,单击右边的编辑颜色。这样就出来了该颜色的属性,我们需要里面的RGB值。分别代表红、绿、蓝。
这时,我们回到fireworks软件中,一个新问题又来了:在fireworks图形设计前端界面中,默认的设置字体颜色的代码为“#FF0000”这样类似的编码。这里,如果对计算机有一定了解的朋友,应该就知道这是一个十六进制编码,而我们上面的RGB值为数字型,也就是十进制编码。
那么:这思路不就来了吗?将十进制转换为十六进制编码。关于这类代码转换,VBA编程或者Python编程就派上用场了。这里我就用VBA吧。主要利用VBA自带的函数hex()来完成本次编程工作。最终的logo效果图如下:
总结:VBA编程或python编程在实际工作处理中是有很多优势的,本文中主要是展示了VBA在处理RGB颜色值(十进制)转换为十六进制的的一个小任务,从中看出了VBA自动化办公的一个快捷性和高效性。特别是在自动化、简化复杂任务、提高工作效率和集成性方面的优势。
附:VBA将十进制的RGB颜色值(红绿蓝)转换为十六进制颜色(即以“#”开头的格式),详细代码如下,以供读者朋友们一起学习交流:
Function RGBToHex(Red As Long, Green As Long, Blue As Long) As String
‘ 将RGB值转换为十六进制字符串
Dim HexRed As String
Dim HexGreen As String
Dim HexBlue As String
‘ 将每个颜色值转换为两位十六进制数
HexRed = Right(“00” & Hex(Red), 2)
HexGreen = Right(“00” & Hex(Green), 2)
HexBlue = Right(“00” & Hex(Blue), 2)
‘ 组合成完整的十六进制颜色代码
RGBToHex = “#” & HexRed & HexGreen & HexBlue
End Function
‘调用上面函数:通过传入RGB的三个颜色值(红、绿、蓝)来得到对应的十六进制颜色代码。
Sub TestRGBToHex()
Dim hexColor As String
hexColor = RGBToHex(235, 162, 192) ‘ 这将返回 “#EBA2C0”,即粉色的十六进制代码
MsgBox hexColor
Debug.Print hexColor
End Sub
Sub RGB2hex() ‘’不需要调用函数的VBA代码
‘ 一步法组合成完整的十六进制颜色代码:在下面hex函数中替换成实际的RGB值,分别对应红R、绿G、蓝B
Hex16 = “#” & Right(“00” & Hex(235), 2) & Right(“00” & Hex(162), 2) & Right(“00” & Hex(192), 2)
Debug.Print Hex16
End Sub