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

Вниз

Цвет пикселя   Найти похожие ветки 

 
Out ©   (2005-09-17 08:51) [0]

Суть такова: есть форма, на ней есть Image, в него загружен рисунок. Необходимо узнать цвет пикселя в месте кллика мышкой на Image


 
Xerx ©   (2005-09-17 09:11) [1]

Image.Picture.Bitmap.Pixels[X,Y] <- на случай если загружен DIB


 
Xerx ©   (2005-09-17 09:12) [2]

Блин, надо:
Image.Picture.Bitmap.CANVAS.Pixels[X,Y]


 
out ©   (2005-09-17 09:23) [3]


> Image.Picture.Bitmap.Pixels[X,Y] <- на случай если загружен
> DIB

Не загружен...
А без него этот метод не работает... Если я правильно понял, Image.Picture.Bitmap.Pixels[X,Y] не даёт значение цвета, он просто окрашивает пиксел в заданный цвет, то есть
Image.Picture.Bitmap.Pixels[X,Y]=clRed


 
MBo ©   (2005-09-17 09:32) [4]

PixColor:=Image.Canvas.Pixels[x,y];
и все...


 
Xerx ©   (2005-09-17 09:33) [5]

Я имел ввиду как MBo, т.к. Pixels[x,y] - массив, а не метод!


 
MBo ©   (2005-09-17 09:34) [6]

>Xerx
Pixels - свойство, доступное и для чтения, и для записи


 
Xerx ©   (2005-09-17 09:40) [7]

> MBo
В реализации да, но не в использовании.. ;)


 
out ©   (2005-09-17 09:43) [8]

ДА? Тогда кто мне объяснит, почему при использовании того что написано выше делфя даёт такую ошибку:
"Can only modify an image if it contains a bitmap" ?


 
out ©   (2005-09-17 09:44) [9]

ДА? Тогда кто мне объяснит, почему при использовании того что написано выше делфя даёт такую ошибку:
"Can only modify an image if it contains a bitmap" ?


 
out ©   (2005-09-17 09:44) [10]

ДА? Тогда кто мне объяснит, почему при использовании того что написано выше делфя даёт такую ошибку:
"Can only modify an image if it contains a bitmap" ?


 
MBo ©   (2005-09-17 09:46) [11]

>out
Очевидно, у тебя в Image не битмап, а Jpeg.


 
out ©   (2005-09-17 09:51) [12]

Точно, забыл указать... Но проблема остаётся... Уточню: в image загружается файл jpg


 
MBo ©   (2005-09-17 09:58) [13]

Сначала преобразуй JPG в BMP, потом грузи в Image


 
out ©   (2005-09-17 10:03) [14]

А с JPEG` ом никак?


 
SergProger ©   (2005-09-20 01:51) [15]

Я слышал про какой-то стандартный модуль, который работает именно с JPEG. Вроде о нём я узнал на DelphiGFX.


 
Out ©   (2005-09-25 10:58) [16]

НЕ ИДЁТ!!!
В Image загружен bmp файл но по клику на нём и при участии кода
Image.Picture.Bitmap.CANVAS.Pixels[X,Y]

устанавливается цвет FFFFFF независимо от места клика


 
Fenik ©   (2005-09-25 11:57) [17]

Image.CANVAS.Pixels[X,Y]


 
Аноним   (2005-09-25 13:33) [18]

Покаместь так...
работает с MouseMove и файл bmp
с кликом нужно подумать...

procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
 Y: Integer);
var col: TColor;
begin
col := Image1.Picture.Bitmap.Canvas.Pixels[x,y];
label1.Caption:= IntToStr(col);
end;


 
PAVIA ©   (2005-09-25 13:49) [19]

uses jpeg;
...
Преоброзовываем из jpge в bmp
1.
var bp:TBitmap;
begin
bp:=TBitmap.Create;
bp.Width:=image1.Picture.Width;
bp.Height:=image1.Picture.Height;
bp.Canvas.Draw(0,0,Image1.Picture.Graphic);
image1.Picture.Bitmap:=bp;
bp.Free;
end;

или
2.
bp:=TBitmap.Create;
bp.Assign(image1.picture.Graphic);
image1.picture.Bitmap.Assign(bp);

Говорят что 1. Способ лучше работает.

И вот тебе пример вывода цвета
caption:=format("RGB=%d,%d,%d",[GetRValue(Image1.Canvas.Pixels[x,y]),GetGValue(Image1.Canvas.Pixels[x,y]),GetBValue(Imag e1.Canvas.Pixels[x,y])])


 
Trash ©   (2005-10-11 17:57) [20]

Вот еще примеры...

var
DC: HDC;  
Color: Cardinal;  
begin
DC := CreateDC ("MONITOR", nil, nil, nil);  
Color := GetPixel(DC, x, y);  
DeleteDC(DC);  
end;  

-----------------------------------------------------------------------------

var
DC: HDC;  
Color: Cardinal;  
begin
DC :=GetDC(0);  
Color := GetPixel(DC, x, y);  
ReleaseDC(0,DC);  
end;



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

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

Наверх




Память: 0.48 MB
Время: 0.019 c
15-1140708360
Pazitron_Brain
2006-02-23 18:26
2006.03.19
USB 2


15-1140954049
постигаю
2006-02-26 14:40
2006.03.19
меняющаяся ячейка


2-1141313299
аматор
2006-03-02 18:28
2006.03.19
Что такое FlatSQL


15-1140528229
Axis_of_Evil
2006-02-21 16:23
2006.03.19
WiFi trouble


2-1141607507
JaspeR
2006-03-06 04:11
2006.03.19
FileListBox!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!





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