2012-11-13 25 views
5

में कनवर्ट करें मैं हेक्स रंग को आरजीबी रंग में परिवर्तित करना चाहता हूं।हेक्स रंग स्ट्रिंग को आरजीबी रंग

मैं निम्नलिखित कोड का इस्तेमाल किया:

Me.BackColor = RGB("#000000") 

लेकिन तब यह निम्न अपवाद फेंकता है:

Argument not specified for parameter 'Green' of 'Public Function RGB(Red As Integer, Green As Integer, Blue As Integer) As Integer' 

यह करने के लिए सही तरीका क्या है?

उत्तर

18

तक ColorTranslator:

ColorTranslator.FromHtml("#003399") 

अन्य तरीके:

Public Function ConvertToRbg(ByVal HexColor As String) As Color 
    Dim Red As String 
    Dim Green As String 
    Dim Blue As String 
    HexColor = Replace(HexColor, "#", "") 
    Red = Val("&H" & Mid(HexColor, 1, 2)) 
    Green = Val("&H" & Mid(HexColor, 3, 2)) 
    Blue = Val("&H" & Mid(HexColor, 5, 2)) 
    Return Color.FromArgb(Red, Green, Blue) 
End Function 

या:

Public Shared Function HexToColor(ByVal hexColor As String) As Color 
    If hexColor.IndexOf("#"c) <> -1 Then 
     hexColor = hexColor.Replace("#", "") 
    End If 
    Dim red As Integer = 0 
    Dim green As Integer = 0 
    Dim blue As Integer = 0 
    If hexColor.Length = 6 Then 
     red = Integer.Parse(hexColor.Substring(0, 2), NumberStyles.AllowHexSpecifier) 
     green = Integer.Parse(hexColor.Substring(2, 2), NumberStyles.AllowHexSpecifier) 
     blue = Integer.Parse(hexColor.Substring(4, 2), NumberStyles.AllowHexSpecifier) 
    ElseIf hexColor.Length = 3 Then 
     red = Integer.Parse(hexColor(0).ToString() + hexColor(0).ToString(), NumberStyles.AllowHexSpecifier) 
     green = Integer.Parse(hexColor(1).ToString() + hexColor(1).ToString(), NumberStyles.AllowHexSpecifier) 
     blue = Integer.Parse(hexColor(2).ToString() + hexColor(2).ToString(), NumberStyles.AllowHexSpecifier) 
    End If 
    Return Color.FromArgb(red, green, blue) 
End Function 

या:

Dim c As String = "#ffffff" 
    c = Replace(c, "#", "") 
    c = "&H" & c 
    ColorTranslator.FromOle(c) 

या:

Public Function hexToRbgNew(ByVal Hex As String) As Color 
    Hex = Replace(Hex, "#", "") 
    Dim red As String = "&H" & Hex.Substring(0, 2) 
    Hex = Replace(Hex, red, "", , 1) 
    Dim green As String = "&H" & Hex.Substring(0, 2) 
    Hex = Replace(Hex, green, "", , 1) 
    Dim blue As String = "&H" & Hex.Substring(0, 2) 
    Hex = Replace(Hex, blue, "", , 1) 
    Return Color.FromArgb(red, green, blue) 
End Function 
+0

आप तेज़ हैं !, धन्यवाद! – Nh123

+0

कोई समस्या नहीं। :-) – famf

संबंधित मुद्दे