- 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