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

Вниз

TColor -> 3 Byte, 3 Byte - > TColor   Найти похожие ветки 

 
Budy   (2004-02-16 14:23) [0]

Приветствую все, в том числе неспящих и уставших!
Помогите пожалуйста! Имеется переменная типа TColor, как можно получить ее Gree, Blue и Red оттенки, и наоборот??!
Заранеe спасибо!


 
TUser   (2004-02-16 14:25) [1]

GetXValue(..., X = R, B or G
RGB(...


 
Семен Сорокин   (2004-02-16 14:28) [2]

[1] + ColorToRGB


 
Budy   (2004-02-16 14:31) [3]

Каким образом пользоваться GetXValue? Вроде написал, а компил не находит, может библиотеку каую надо?
ЗЫ.Забыл написать, у меня Delphi5


 
MBo   (2004-02-16 14:34) [4]

getRvalue
и так далее ;)


 
TUser   (2004-02-16 14:37) [5]

Библиотека - windows.pas. Обрати внимание, что Х - это обозначение конкретного цвета.


 
Budy   (2004-02-16 14:49) [6]

Нет, это я понял, что вместо X нужно пихнуть B, R и G, но всеравно не пашет.
Вродь все верно: Byte:=GetRValue(TColor);!


 
MBo   (2004-02-16 14:54) [7]

так и пишешь - GetRValue( TColor); ????


 
Radionov Alexey   (2004-02-16 14:55) [8]

>Budy © (16.02.04 14:49) [6]
Из Windows.pas:

function GetRValue(rgb: DWORD): Byte;
begin
Result := Byte(rgb);
end;

function GetGValue(rgb: DWORD): Byte;
begin
Result := Byte(rgb shr 8);
end;

function GetBValue(rgb: DWORD): Byte;
begin
Result := Byte(rgb shr 16);
end;


 
kaif   (2004-02-16 14:59) [9]

Тип TColor это 4 байта, из которых три младших - это в принципе и есть RGB. Если отвлечься от всяких тонкостей с альфа-каналом (старший байт), в которых я не разбираюсь, то первое решение:

var
Color: TColor
r,g,b: byte;

begin
R := (Color AND $00FF0000) div $10000;
G := (Color AND $0000FF00) div $100;
B := (Color AND $000000FF);
end;

или что-то в этом духе...


 
Ega23   (2004-02-16 15:20) [10]

Была ещё какая-то фишка в Delphi, R и B местами менялись. Т.е. смотреть надо - кто младший - R или B.


 
Anatoly Podgoretsky   (2004-02-16 15:29) [11]

Ничего не менялось, как было RGB так RGB и осталось


 
Ega23   (2004-02-16 15:32) [12]

2 Anatoly Podgoretsky © (16.02.04 15:29) [11]
Я имел ввиду совместимость с другими программами. Сейчас не помню гди и как, но в одной программе $FF0000 был красным, а в Delphi - синим. Или наоборот.


 
Anatoly Podgoretsky   (2004-02-16 15:37) [13]

Ты путаешь dword с RGB, указаный тобой формат относится к dword, число в хекс формате


 
Budy   (2004-02-16 17:30) [14]

Да нет! У меня вообще не так.
Короче, я вообще сглупил!
Я вставил TImage, и загрузил в него JPG-картинку.
Когда мышь движется по TImage"у у меня такая ерунда:
...
procedure Image1MouseMove(...);
var
Red,Blue,Green:Byte;
begin
Red:=GetRValue(TImage.Canvas.Pixels[X,Y]);
Blue:=...
...
end;
...
Вот такая глупость!



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

Форум: "Основная";
Текущий архив: 2004.02.29;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.013 c
1-93868
Гиричев Руслан
2004-02-15 21:15
2004.02.29
Курсор - кажется что в нём такого, а...


14-94189
_none_
2004-02-05 15:41
2004.02.29
лучше боулинг -)


1-93888
Узнать логин
2004-02-16 09:43
2004.02.29
Как узнать из Делфи логин пользователя?


1-94024
MadGhost
2004-02-16 21:37
2004.02.29
Как написать разбор выражения? скажем языка программирования.


9-93747
Mop
2003-04-14 05:27
2004.02.29
Omega Components





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский