Форум: "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.011 c