2017-08-09 140 views
1

您可以请教我如何在ASP Classic/VBScript中将十六进制转换为RGB。我试图在互联网上搜索并尝试了很多建议的解决方案,但没有指出我想实现的目标。在ASP经典中将十六进制转换为RGB

我曾尝试以下功能,但他们没有工作:Convert hex color string to RGB color

转换为RBB之后,我想设置基于背景颜色的文本颜色。所以基本上我的背景颜色代码是在十六进制。

+2

'颜色= CLng函数( “&H” & “00FF00”)'? – GSerg

+2

“无法正常工作”是一个不完整的问题描述。显示你已经尝试了什么*(即*你的*代码)并描述所需的和实际的结果。 –

+1

您链接的解决方案将不起作用,因为VBScript与VB.NET不同。 – BoffinbraiN

回答

0

首先,使用“& h”表示法并解析结果,将十六进制代码转换为十进制数。之后,这是一个基本的按位运算符从数字中提取RGB值的问题。

Dim hexval : hexval = "fdfeff" 

Dim rgbval : rgbval = CLng("&h" & hexval) 
Dim r : r = (rgbval And &hff0000&)/65536 
Dim g : g = (rgbval And &h00ff00&)/256 
Dim b : b = (rgbval And &h0000ff&) 

wscript.echo Join(Array(hexval, rgbval, r, g, b), vbcrlf) 

这将产生以下输出:

fefeff 
16645887 
253 
254 
255