Dobrý večer, nemám tu teď Visual Studio, takže to budu psát z hlavy, tak to snad napíšu dobře:
Private Function HexaToDeci(ByVal Hexa As String) As Byte()
Dim ARGB() As Byte = { 255, _
CByte("&H" & Hexa.SubString(0,2)), _
CByte("&H" & Hexa.SubString(2,2)), _
CByte("&H" & Hexa.SubString(4,2)) }
End Function
Pokud chcete mít tuto funkci opravdu správnou, tak by bylo ještě dobré ošetřit odstřižení prvního znaku, pokud bude barva začínat # (#FF3099 -> FF3099) a případné zdvojení znaků, pokud bude barva v krátkém formátu (2F0 -> 22FF00):
Private Function HexaToDeci(ByVal Hexa As String) As Byte()
If Hexa.StartsWith("#") Then Hexa = Hexa.SubString(1)
If Hexa.Lenght = 3 Then
Hexa = Hexa.SubString(0,1) & Hexa.SubString(0,1) & Hexa.SubString(1,1) & Hexa.SubString(1,1) & Hexa.SubString(2,1) & Hexa.SubString(2,1)
End If
Dim ARGB() As Byte = { 255, _
CByte("&H" & Hexa.SubString(0,2)), _
CByte("&H" & Hexa.SubString(2,2)), _
CByte("&H" & Hexa.SubString(4,2)) }
End Function
|