AnsiString __fastcall BValueToString ( TColor value )
{
long color = value;
long blue = ( color & 0x00FF0000 ) >> 16;
long green = ( color & 0x0000FF00 ) >> 8;
long red = ( color & 0x000000FF );
return (AnsiString)( "{ R(" + IntToStr(red) + ") , G(" + IntToStr(green) + ") , B(" + IntToStr(blue) + ") }" );
}
TColor
как из TColorDialog::Color вытащить цвет в виде: #FF00FF ?
Код:
надо вообще то в обратную сторону из TColor получить AnsiString в шеснадцатиричном формате
Код:
long color = ColorDialog1->Color;
long blue = ( color & 0x00FF0000 ) >> 16;
long green = ( color & 0x0000FF00 ) >> 8;
long red = ( color & 0x000000FF );
AnsiString cl = "#" + IntToHex((int)red,2) + IntToHex((int)green,2) + IntToHex((int)blue,2);
long blue = ( color & 0x00FF0000 ) >> 16;
long green = ( color & 0x0000FF00 ) >> 8;
long red = ( color & 0x000000FF );
AnsiString cl = "#" + IntToHex((int)red,2) + IntToHex((int)green,2) + IntToHex((int)blue,2);
Возвращает HEX-код цвета либо его системное название (например clBlack или clWindow)