RGB 色彩模式是工業(yè)界的一種顏色標準,是通過對紅(R)、綠(G)、藍(B)三 個顏色通道的變化以及它們相互之間的疊加來得到各式各樣的顏色。RGB 顏色分量的值通常 采用十進制數(shù)表示,而Flash 軟件中顏色值采用十六進制數(shù)表示。比如RGB(100,255,10)
等價于十六進制顏色碼#64FF0A,每個RGB 顏色分量對應兩位十六進制數(shù)。
小杜編寫一個RGB 顏色值轉(zhuǎn)十六進制顏色碼的轉(zhuǎn)換程序,程序功能如下:程序運行時在 文本框Text1 輸入RGB 顏色值,輸入格式為“RGB(x,y,z)”,x、y、z 的范圍都是[0,255]。
單擊“轉(zhuǎn)換”按鈕Command1,在標簽Label1 上輸出對應的十六進制顏色碼。程序運行界面 如圖2所示。
實現(xiàn)上述功能的VB 程序如下,請回答下列問題:
(1)程序運行時,在文本框Text1 輸入RGB(25,0,101),則標簽Label1 上顯示的內(nèi)容是
#190065
#190065
(2)請在橫線處填入合適的代碼。
Private Sub Command1_Click ( ?。?br />Dim s As String,ch As String
Dim ans As String
Dim a(1To 3)As Integer'用于存儲RGB 對應的3 個分量
Dim i As Integer,j As Integer s=Text1.Text
s=Mid(s,5,Len(s)-5)'取出括號內(nèi)的字符串
i=1:j=1
Do While i<=Len(s)
ch=Mid(s,i,1)
If ch>=“0“And ch<=“9“Then a(j)=①
a(j)*10+Val(ch)
a(j)*10+Val(ch)
Else
j=j+1
End If
i=i+1
Loop
For i=1To 3
②
ans=ans+btoh(a(i))
ans=ans+btoh(a(i))
Next i
Label1.Caption=“#“+ans
End Sub
Function btoh(x As Integer) As String'將十進制數(shù)轉(zhuǎn)換成兩位十六進制數(shù)
Const zf=“0123456789ABCDEF“Dim r As Integer,h As String h=““
Do While x>0
r=x Mod 16
h=Mid(zf,r+1,1)+h x=x\16
Loop
If Len(h)=1Then h=“0“+h
If Len(h)=0Then h=“00“
③
btoh=h
btoh=h
End Function。