Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.12.19;
Скачать: CL | DM;

Вниз

Номера цветов в HTML и в Делфи   Найти похожие ветки 

 
DelphiN! ©   (2004-12-01 13:46) [0]

Почему в броузере - #0000FF   -    голубой цвет, а в делфи - красный
                          - #FF0000   -    красный цвет, а в Делфи - голубой

???


 
MeF88 ©   (2004-12-01 13:51) [1]

Потому что в браузере RGB, а в Delphi BGR.


 
GuAV ©   (2004-12-01 13:51) [2]

AFAKI, потому что в HTML записан массив байт, т.к. HTML типа кросплатформенный формат и порядок байт в слове его не должен затрагивать.
А в Delphi записан двойным словом для удобства работы с ним.


 
pasha_golub ©   (2004-12-01 13:51) [3]

Вопрос не корректен, потому что в Делфе цвет это число, а в ХТМЛ - это строка. Намек ясен?


 
DelphiN! ©   (2004-12-01 13:53) [4]

И как переделать Делфовский номер цвета в HTML-овский?


 
КаПиБаРа ©   (2004-12-01 13:58) [5]

DelphiN! ©   (01.12.04 13:53) [4]
Поменять местами R и B


 
DelphiN! ©   (2004-12-01 13:59) [6]


> [3] pasha_golub ©   (01.12.04 13:51)


Почему? Броузер считает что например clRed - это константа, которя равна строке "#FF0000", а строку "#FF0000" можно представить как номер цвета ... ?


 
pasha_golub ©   (2004-12-01 14:01) [7]

delphibase.endimus.com


 
MeF88 ©   (2004-12-01 14:02) [8]


> Почему? Броузер считает что например clRed - это константа,
> которя равна строке "#FF0000", а строку "#FF0000" можно
> представить как номер цвета ... ?

Сам то понял че спросил?
> И как переделать Делфовский номер цвета в HTML-овский?

А зачем это тебе?


 
DelphiN! ©   (2004-12-01 14:04) [9]


> [5] КаПиБаРа ©   (01.12.04 13:58)


Спасибо!

>  [7] pasha_golub ©   (01.12.04 14:01)
> delphibase.endimus.com


Спасибо, Непременно загляну ...


 
DelphiN! ©   (2004-12-01 14:20) [10]

Кому надо, вот процедурка накатал :


function DelephiColorToHTMLColor(DelphiColor: Integer):String;

function RGB_TO_BGR(HEX_RGB:String): String;
var
 i:Integer;
begin
 Result := "";
 for i := Length(HEX_RGB) downto 1 do
   Result := Result + HEX_RGB[i];
end;

begin
 Result := Format("%x",[DelphiColor]]);
 while Length(Result) < 6 do
   Result := "0"+Result;
 Result := "#"+RGB_TO_BGR(Result);
end;



 
MeF88 ©   (2004-12-01 14:23) [11]


>  Result := "";
>  for i := Length(HEX_RGB) downto 1 do
>    Result := Result + HEX_RGB[i];

не совсем верно. надо же не перевернуть строку, а поменять местами R и B.
Если цвет будет 916739 ты должен получить 396791, а не 937619.


 
DelphiN! ©   (2004-12-01 14:38) [12]


>  [11] MeF88 ©   (01.12.04 14:23)


Спасибо за поправку, тогда :


function DelephiColorToHTMLColor(DelphiColor: Integer):String;

function RGB_TO_BGR(HEX_RGB:String): String;
var
 i:Integer;
begin
 Result := "";  
 i := Length(HEX_RGB);
 while i > 0 do
 begin
   Result := Result + HEX_RGB[i-1] + HEX_RGB[i];
   i := i - 2;
 end;
 Result := Result + HEX_RGB[i];
end;

begin
Result := Format("%x",[DelphiColor]]);
while Length(Result) < 6 do
  Result := "0"+Result;
Result := "#"+RGB_TO_BGR(Result);
end;




Страницы: 1 вся ветка

Текущий архив: 2004.12.19;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.025 c
3-1100778681
ds
2004-11-18 14:51
2004.12.19
Отображение в DBGrid


14-1101456985
gn
2004-11-26 11:16
2004.12.19
SN Hotmail - взломали или пошутили?


1-1101970017
Adis Tadas
2004-12-02 09:46
2004.12.19
Можно ли вернуть из DLL record?


3-1100783597
Valeri
2004-11-18 16:13
2004.12.19
dbase, bde


3-1100534722
Ivan_
2004-11-15 19:05
2004.12.19
Ошибка в TIBQuery