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

Вниз

Как цвет #FFFFFF перевести в RGB?   Найти похожие ветки 

 
kas-t   (2004-04-06 08:41) [0]

Здравствуйте! Подскажите какими методами можно перевести цвет #FFFFFF в RGB... то есть разбить по цветам? Зарание огромное спасибо...


 
Anatoly Podgoretsky ©   (2004-04-06 08:51) [1]

Он уже RGB


 
Mihey ©   (2004-04-06 20:38) [2]

RedValue := GetRValue(C: TColor);
GreenValue := GetGValue(C: TColor);
BlueValue := GetBValue(C: TColor);


 
Stexen ©   (2004-04-07 20:46) [3]

НУ по-теории оно же трехбайтное должно быть соответсвенно красный первый байт второй зеленый и третий синий


 
AxxxE ©   (2004-04-07 20:54) [4]

// Процедура для конвертации из TColor в RGB
procedure GetRGBValue(const Color: TColor; var Red, Green, Blue: Byte);
begin
 red := Color and $FF;
 Green := (Color shr 8) and $FF;
 Blue := (Color shr 16) and $FF;
end;

// Функция RGB ---> TColor
function SetRGBValue(Red, Green, Blue: Byte): TColor;
begin
 Result := $00;
 Result := (Result shl 8) or Blue;
 Result := (Result shl 8) or Green;
 Result := (Result shl 8) or Red;
end;

Взято из примера с DelphiGFX. Ну если просто так дойти не может, ужель нельзя на этом сайте посмотреть?


 
kas-t   (2004-04-07 21:16) [5]

Да это все понятно. Может быть конечно я не правильно выразился но нужно именно из строки "#CCCCCC" или "#FCFCFC" получить именно цвет в RGB? То есть у меня такая строка #FF0000, а нужно что бы было 255.0.0 А с переводом TColor в RGB проблем нет :)...


 
Алхимик ©   (2004-04-07 21:19) [6]

Hex в Dec перевести не могём?


 
Mihey ©   (2004-04-07 22:40) [7]

unction ColorToHex(Color: TColor): String;
var
 R, G, B: Byte;
begin
 Color := ColorToRGB(Color);
 R := GetRValue(Color);
 G := GetGValue(Color);
 B := GetBValue(Color);
 ColorToHex := IntToHex(R,2) + IntToHex(G,2) + IntToHex(B,2);
end;

function HexToColor(Color: String): TColor;
var
 R, G, B: Byte;
begin
 R := StrToInt("$" + Copy(Color, 1, 2));
 G := StrToInt("$" + Copy(Color, 3, 2));
 B := StrToInt("$" + Copy(Color, 5, 2));
 Result := RGB(r, g, b);
end;


 
Anatoly Podgoretsky ©   (2004-04-07 23:09) [8]

kas-t   (07.04.04 21:16) [5]
Это шестнадцатиричное представление RGB, где # является признаком и далее слева направа шестнадцатиричные коды RGB
Преобразование делвется с помощью функции StrToInt("$" + два символа из строки) три раза делаешь по два символа


 
Anatoly Podgoretsky ©   (2004-04-07 23:12) [9]

Если у тебя Д6, то обрати внимание на тип LongRec/Bytes


 
kas-t   (2004-04-08 08:18) [10]

Спасибо разобрался...



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

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

Наверх




Память: 0.49 MB
Время: 0.031 c
1-1086416823
Andriy Tysh
2004-06-05 10:27
2004.06.20
VirtualDBTree or VirtualDBTreeEx -> Demo


14-1086152367
Романов Р.В.
2004-06-02 08:59
2004.06.20
Поделитесь что хорошее произошло у Вас в последнее время


6-1083306528
Tefal
2004-04-30 10:28
2004.06.20
Можно ли сделать снимок рабочего стола на удалённой машине.


14-1085986415
Unicode
2004-05-31 10:53
2004.06.20
PHP


11-1075401732
AndersoNRules
2004-01-29 21:42
2004.06.20
KOL & MCK. Kak proinstalirovati komponenti MCK i KOL ? i skachal