2017-08-09 60 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