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

Вниз

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

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

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

Наверх




Память: 0.51 MB
Время: 0.063 c
6-1116193023
pool
2005-05-16 01:37
2006.03.19
idHTTP как скачать HTML-код форума с определенным логином.


15-1140700128
Pazitron_Brain
2006-02-23 16:08
2006.03.19
Где можно зарегистрировать бесплатный домен?


1-1139761602
Fl@sh
2006-02-12 19:26
2006.03.19
CryptoApi &amp; криптопровайдеры и информацыя о них


15-1140725504
Piter
2006-02-23 23:11
2006.03.19
Обрушилась крыша на Басманном рынке


2-1141447935
Trych
2006-03-04 07:52
2006.03.19
Не создает поток