Цвета в DELPHI
две первые цифры — синий
две в середине — зелёный
две последние цифры — красный
В Дельфи - $BBGGRR...
Чисто красный - $0000FF
Чисто зеленый - $00FF00
Чисто синий - $FF0000
Цвета в HTML
Представление в виде трёх пар шестнадцатеричных цифр, где каждая пара отвечает за свой цвет
две первые цифры — красный
две в середине — зелёный
две последние цифры — синий
две в середине — зелёный
две последние цифры — синий
В HTML - $RRGGBB
Чисто красный - $FF0000
Чисто зеленый - $00FF00
Чисто синий - $0000FF
Чисто зеленый - $00FF00
Чисто синий - $0000FF
Чтобы перевести из Delphi в RGB HTML надо перенести два последних символа:
I-й способ:
procedure TForm1.Button1Click(Sender: TObject);
var
HTMLColor, DelphiColor: string;
Begin
......
......
if ColorDialog1.Execute then
begin
DelphiColor := IntToHex(ColorDialog1.Color, 6);
HTMLColor := '#' + Copy(DelphiColor, 5, 2) + Copy(DelphiColor, 3, 2) + Copy(DelphiColor, 1, 2);
ShowMessage(IntToStr(ColorDialog1.Color));
ShowMessage(HTMLColor);
end;
......
......
.....
End;
Существуют функции ColorToString и StringToColor.
Только надо не забыть подключить uses .... Graphics;
Только надо не забыть подключить uses .... Graphics;
II-й способ:
function GetHexColor(ColorDialog1:TColorDialog): string;
var hex: Cardinal; clrR, clrG, clrB: Byte; begin Result := '#000000'; if not ColorDialog1.Execute then Exit; clrR := GetRValue(ColorDialog1.Color); clrG := GetGValue(ColorDialog1.Color); clrB := GetBValue(ColorDialog1.Color); hex := clrB or (clrG shl 8) or (clrR shl 16); Result := '#' + IntToHex(hex, 6); end;
var hex: Cardinal; clrR, clrG, clrB: Byte; begin Result := '#000000'; if not ColorDialog1.Execute then Exit; clrR := GetRValue(ColorDialog1.Color); clrG := GetGValue(ColorDialog1.Color); clrB := GetBValue(ColorDialog1.Color); hex := clrB or (clrG shl 8) or (clrR shl 16); Result := '#' + IntToHex(hex, 6); end;
Комментариев нет:
Отправить комментарий