delphi4arab منتديات دلفي للعرب
الوصول إلى كل نقطة في الصورة (pixel) - نسخة قابلة للطباعة

+- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum)
+-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3)
+--- قسم : سؤال و جواب حول دلفي (https://delphi4arab.net/forum/forumdisplay.php?fid=15)
+--- الموضوع : الوصول إلى كل نقطة في الصورة (pixel) (/showthread.php?tid=336)



الوصول إلى كل نقطة في الصورة (pixel) - الأمير - 18-12-2008

كيف نستطيع الوصول إلى كل نقطة في الصورة (pixel)
أو الوصول إلى مصفوفة العناصر
و كيف نستطيع قراءة لونها أو تغييره


الوصول إلى كل نقطة في الصورة (pixel) - محمد عبد العزيز - 18-12-2008


بسم الله الرحمن الرحيم

يمكن الوصل الى اي نقطة حسب احداثياتها x,y باستخدام Canvas
مثلا لدينا صورة Bitmat في مكون Image1 نصل للون النقطة ب
كود :
Image1.Canvas.Pixels[x,y]
نقراء اللون الى متغير c مثلا
كود :
c:=Image1.Canvas.Pixels[0,0];

مثلا نغير اللون لاول نقطة بالصورة الى الون الازرق نكتب
كود :
Image1.Canvas.Pixels[0,0] := clBlue;

وان اردنا عدم استخدام Canvas يمكن استخدام دوال API
GetPixel لمعرفة اللون
SetPixel لتغيير االون
لمزيد من التفاصيل وامثلة راجع الHelp
والسلام عليكم



الوصول إلى كل نقطة في الصورة (pixel) - الأمير - 23-12-2008

يسلمووووووووووووووووووو


الوصول إلى كل نقطة في الصورة (pixel) - الأمير - 23-12-2008

شكراً جزيلاً .............
في نفس الموضوع :
كيفية الوصول إلى نسبة اللون الأخظر أو الأزرق أو الأحمر في كل pixel
أي الوصول إلة R G B في كل pixel


الوصول إلى كل نقطة في الصورة (pixel) - mrmat - 25-12-2008

يمكنك استخدام ال 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;