четверг, 20 марта 2014 г.

Как перевести палитру DELPHI в цвета HTML



Цвета в DELPHI


две первые цифры — синий 
две в середине — зелёный
две последние цифры — красный

В Дельфи - $BBGGRR...

Чисто красный - $0000FF
Чисто зеленый - $00FF00
Чисто синий    - $FF0000


Цвета в HTML


Представление в виде трёх пар шестнадцатеричных цифр, где каждая пара отвечает за свой цвет

две первые цифры — красный
две в середине — зелёный
две последние цифры — синий

В HTML - $RRGGBB

Чисто красный - $FF0000
Чисто зеленый - $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;


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;


Комментариев нет:

Отправить комментарий