- From Hexadecimal to RGB
- From RGB to Hexadecimal
- Check for a valid hexadecimal value
From Hexadecimal to RGB:
copyraw
HEX2RGB(HEXString,Delimiter="")
{
If Delimiter=
Delimiter=,
StringMid,R,HexString,1,2
StringMid,G,HexString,3,2
StringMid,B,HexString,5,2
R = % "0x"R
G = % "0x"G
B = % "0x"B
R+=0
G+=0
B+=0
RGBString = % R Delimiter G Delimiter B
Return RGBString
}
- HEX2RGB(HEXString,Delimiter="")
- {
- If Delimiter=
- Delimiter=,
- StringMid,R,HexString,1,2
- StringMid,G,HexString,3,2
- StringMid,B,HexString,5,2
- R = % "0x"R
- G = % "0x"G
- B = % "0x"B
- R+=0
- G+=0
- B+=0
- RGBString = % R Delimiter G Delimiter B
- Return RGBString
- }
From RGB to Hexadecimal:
copyraw
RGB2HEX(RGBString,Delimiter="")
{
If Delimiter=
Delimiter=,
StringSplit,_RGB,RGBString,%Delimiter%
SetFormat, Integer, Hex
_RGB1+=0
_RGB2+=0
_RGB3+=0
If StrLen(_RGB1) = 3
_RGB1= 0%_RGB1%
If StrLen(_RGB2) = 3
_RGB2= 0%_RGB2%
If StrLen(_RGB3) = 3
_RGB3= 0%_RGB3%
SetFormat, Integer, D
HEXString = % _RGB1 _RGB2 _RGB3
StringReplace, HEXString, HEXString,0x,,All
StringUpper, HEXString, HEXString
Return, HEXString
}
- RGB2HEX(RGBString,Delimiter="")
- {
- If Delimiter=
- Delimiter=,
- StringSplit,_RGB,RGBString,%Delimiter%
- SetFormat, Integer, Hex
- _RGB1+=0
- _RGB2+=0
- _RGB3+=0
- If StrLen(_RGB1) = 3
- _RGB1= 0%_RGB1%
- If StrLen(_RGB2) = 3
- _RGB2= 0%_RGB2%
- If StrLen(_RGB3) = 3
- _RGB3= 0%_RGB3%
- SetFormat, Integer, D
- HEXString = % _RGB1 _RGB2 _RGB3
- StringReplace, HEXString, HEXString,0x,,All
- StringUpper, HEXString, HEXString
- Return, HEXString
- }
Just in case, check a valid hexadecimal value:
copyraw
CheckHexC(HEXString)
{
StringUpper, HEXString, HEXString
RGB:=HEX2RGB(HEXString)
CHK:=RGB2HEX(RGB)
StringUpper, CHK, CHK
If CHK=%HEXString%
Return 1
else
Return 0
}
- CheckHexC(HEXString)
- {
- StringUpper, HEXString, HEXString
- RGB:=HEX2RGB(HEXString)
- CHK:=RGB2HEX(RGB)
- StringUpper, CHK, CHK
- If CHK=%HEXString%
- Return 1
- else
- Return 0
- }
Category: AutoHotkey :: Article: 387



Add comment