Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

цвет 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


Наверх

Титульная страница Поиск, карта сайта Написать письмо