![]() |
|
اظهار الصورة على الفورم بيكسل تلو الآخر - نسخة قابلة للطباعة +- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum) +-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3) +--- قسم : سؤال و جواب حول دلفي (https://delphi4arab.net/forum/forumdisplay.php?fid=15) +--- الموضوع : اظهار الصورة على الفورم بيكسل تلو الآخر (/showthread.php?tid=105) |
اظهار الصورة على الفورم بيكسل تلو الآخر - Rover - 26-03-2008 كيف يمكن اظهار الصورة على الفورم بيكسل تلوا الآخر ( نفس تقنية الماسح ) .. عن طريق ربطها مع Timer و تقبلوا بقبول فائق التقديرو الأحترام ... اظهار الصورة على الفورم بيكسل تلو الآخر - merouane - 06-04-2008 السلام عليكم الأمر بسيط بواسطة Timer يمكن أن نظهر الصورة بيكسل تلو الأخر timer أسميته TimerPixel كود : [FONT="Courier New"]
var
c : TColor;
x : Integer = 0;
y : Integer = 0;
[FONT="Tahoma"][color=Blue]//------------------------------------Timer قبل بداية عمل [/color]
image2.Height := image1.Picture.Graphic.Height;
image2.Width := image1.Picture.Graphic.Width;
[FONT="Tahoma"][color=Blue]// نجعل لون خلفية الصورة نفسه لون الأرضي[/color]
image2.Canvas.Brush.Color := Form1.color;
Image2.Canvas.FillRect(rect(0,0,Image2.Width, Image2.height));
[FONT="Tahoma"][color=Blue]//-------قد تستغني عن التالي إذا لم ترد صورة شفافة[/color]
C := image1.Canvas.Pixels[0,0];
[color=Blue]//------------------------------------------------------------------[/color]
procedure TForm1.TimerPixelTimer(Sender: TObject);
begin
if (image1.Canvas.Pixels[x,y]<> C) then [color=Blue] // لعدم إظهار لون معين[/color]
image2.Canvas.Pixels[x,y] := image1.Canvas.Pixels[x,y];
if x < image1.Picture.Width then
x := x+1
else
begin
x := 0;
if y < image1.Picture.Height then
y := y+1
else
TimerPixel.Enabled := false;
end;
end;قد تجد أحسن من هذه الشيفرة .. لكنها قد تجعلك على الطريق مثال كامل تجده في المرفقات تحياتي
|