18-12-2008, 08:08 PM
كيف نستطيع الوصول إلى كل نقطة في الصورة (pixel)
أو الوصول إلى مصفوفة العناصر
و كيف نستطيع قراءة لونها أو تغييره
أو الوصول إلى مصفوفة العناصر
و كيف نستطيع قراءة لونها أو تغييره
|
الوصول إلى كل نقطة في الصورة (pixel)
|
|
18-12-2008, 08:08 PM
كيف نستطيع الوصول إلى كل نقطة في الصورة (pixel)
أو الوصول إلى مصفوفة العناصر و كيف نستطيع قراءة لونها أو تغييره
18-12-2008, 10:17 PM
بسم الله الرحمن الرحيم يمكن الوصل الى اي نقطة حسب احداثياتها x,y باستخدام Canvas مثلا لدينا صورة Bitmat في مكون Image1 نصل للون النقطة ب كود : Image1.Canvas.Pixels[x,y]كود : c:=Image1.Canvas.Pixels[0,0];مثلا نغير اللون لاول نقطة بالصورة الى الون الازرق نكتب كود : Image1.Canvas.Pixels[0,0] := clBlue;وان اردنا عدم استخدام Canvas يمكن استخدام دوال API GetPixel لمعرفة اللون SetPixel لتغيير االون لمزيد من التفاصيل وامثلة راجع الHelp والسلام عليكم
23-12-2008, 10:19 AM
يسلمووووووووووووووووووو
23-12-2008, 10:31 AM
شكراً جزيلاً .............
في نفس الموضوع : كيفية الوصول إلى نسبة اللون الأخظر أو الأزرق أو الأحمر في كل pixel أي الوصول إلة R G B في كل pixel
25-12-2008, 04:19 AM
يمكنك استخدام ال scanline التي هي اسرع بكثير من استخدام ال pixels, ولان شرحها طويل يمكنك ان تجد شرحا مفصلا هنا: http://www.efg2.com/Lab/ImageProcessing/Scanline.htm
او اذا اردت ان تستعمل ال pixels يمكنك ان تسعمل هذه للتحويل من TColor الى RGB و بالعكس: كود : RGB to TColor
function RGBToColor(R,G,B:Byte): TColor;
begin
Result:=B Shl 16 Or G Shl 8 Or R;
end;
TColor to RGB
procedure ColortoRGB(Color : TColor;Var R,G,B : Integer);
var
R,G,B : Integer;
begin
R := Color and $ff;
G := (Color and $ff00) shr 8;
B := (Color and $ff0000) shr 16;
end; |
|
|