Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Media";
Текущий архив: 2004.06.20;
Скачать: [xml.tar.bz2];

Вниз

Как цвет #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 вся ветка

Форум: "Media";
Текущий архив: 2004.06.20;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.049 c
14-1086394830
Феликс
2004-06-05 04:20
2004.06.20
Как же это дело сформулировать?


14-1085959462
Monster
2004-05-31 03:24
2004.06.20
ZIP archiver


8-1081353832
Wm.DIGGER
2004-04-07 20:03
2004.06.20
Запись AVI шек ...


4-1084786645
DmitryV.
2004-05-17 13:37
2004.06.20
COM порт


1-1085493215
Виноградов Алексей
2004-05-25 17:53
2004.06.20
Файл текстового типа (textfile). Как узнать его размер ?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский