![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
цвет TColor в формат цвета фотошопа(и не только)..
Nekroraise © (2009-06-05 22:03:00)Подскажите как конвертировать цвет TColor в формат цвета как фотошопе представляется. К примеру в фотошопе #646bff - это фиолетовый
а если в программе вставляю 0x646bff выходит красноватый
Германн (2009-06-06 01:43:00) [1]
> Игорь Шевченко © (06.06.09 01:31) [5]
>
> Германн © (06.06.09 01:22) [4]
>
>
> > WebColor на входе используется как Integer, а на выходе
> > как Integer
>
>
> как string, ты имел в виду. Так оно понятно - RGB в WEB-
> страницу не засунешь на ходу
>
Да. Копипаст подвёл, а я и не заметил. :(
Но ведь из WEB-страницы Integer извлечь "на ходу" тоже трудновато. :)
Игорь Шевченко (2009-06-06 01:31:00) [2]Германн © (06.06.09 01:22) [4]
> WebColor на входе используется как Integer, а на выходе
> как Integer
как string, ты имел в виду. Так оно понятно - RGB в WEB-страницу не засунешь на ходу
Германн (2009-06-06 01:22:00) [3]
> Игорь Шевченко © (06.06.09 00:10) [3]
>
> Вот что предлагает Delphi (D2006) в юните GraphUtil.pas
Вот интересно!
WebColor на входе используется как Integer, а на выходе как Integer. В то время как RGB в обоих случаях как Integer.
Игорь Шевченко (2009-06-06 00:10:00) [4]Вот что предлагает Delphi (D2006) в юните GraphUtil.pas
function WebColorToRGB(WebColor: Integer): Integer;
begin
Result := StrToInt(Format('$%.2x%.2x%.2x', [GetRValue(WebColor),
GetGValue(WebColor), GetBValue(WebColor)])); { do not localize }
end;
function RGBToWebColorStr(RGB: Integer): string;
begin
Result := UpperCase(Format('#%.2x%.2x%.2x', [GetRValue(RGB),
GetGValue(RGB), GetBValue(RGB)])); { do not localize }
end;
WebColor - это то самое, что у фотошопа
Nekroraise (2009-06-06 00:04:00) [5]хм, а менять их местами как я полагаю надо как то с помощью побитовых операций? =)
Игорь Шевченко (2009-06-05 22:09:00) [6]в TColor $646bFF это 64=B 6b=G FF=R
В фотошопе 646bFF это 64=R 6b=G FF=B
чтобы получить такой цвет в TColor, его надо записать как $FF6b64