delphi4arab منتديات دلفي للعرب
رسم اطار على الصوره - نسخة قابلة للطباعة

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



رسم اطار على الصوره - Anew - 11-03-2013

السلام عليكم

اخواني كيف يتم رسم ايطار على الصوره
كود :
http://im35.gulfup.com/ARrZN.png
و عند الضغط على زر تصبح بهذا الشكل
كود :
http://im35.gulfup.com/G7gCX.png
و بارك الله بالجميع


رسم اطار على الصوره - SMP3 - 11-03-2013

السلام عليكم
هذه محاولة على السريع
PHP كود :
function FrameBitmap(srcbmp:TBitmap;const FrameColor:TColor=clBlack;FrameWidth:Integer=0):TBitmap;
var
bmp:TBitmap;
w:integer;
begin
 bmp
:=TBitmap.Create;
 
bmp.Width :=srcbmp.Width  ;
 
bmp.Height:=srcbmp.Height ;
 
bmp.Canvas.Draw(0,0,srcbmp);
 
bmp.Canvas.Brush.Color:= FrameColor;
 
bmp.Canvas.Pen.Color:= FrameColor;
 if 
FrameWidth <>0 then
   begin
    
for w := 0 to  FrameWidth do
    
bmp.Canvas.FrameRect(Rect(w,w,bmp.Width-w,bmp.Height-w));
   
end else
    
bmp.Canvas.FrameRect
    
(Rect(0,0,bmp.Width,bmp.Height));

 
Result:= bmp;
 
//bmp.Free;
end; 
الاستعمال
PHP كود :
Self.Image2.Picture.Bitmap:=FrameBitmap(Self.Image1.Picture.Bitmap,clRed,4); 

يجدر الذكر أن الصورة لازم تكون من نوع bmp


رسم اطار على الصوره - لؤي - 11-03-2013

و عليكم السلام
مجرد فكرة: ضع صورتين في نفس المكان أحدهما بإيطار و الأخرى بدون إيطار و إجعل خاصية Visible لذات الإيطار False تتفعل بعد الضغط
هناك برنامج يشبه ذلك ألقي نظرة:
[URL="http://www.delphi4arab.net/forum/attachment.php?attachmentid=2871&d=1311453884"]
http://www.delphi4arab.net/forum/attachment.php?attachmentid=2871&d=1311453884[/URL]


رسم اطار على الصوره - Anew - 12-03-2013

SMP3 كتب :هذه محاولة على السريع
اشكر مجهودك السريع و لاكن الكود لم يفلح معي لان الصوره من نوع Jpg
لؤي كتب :مجرد فكرة: ضع صورتين في نفس المكان أحدهما بإيطار و الأخرى بدون إيطار و إجعل خاصية visible لذات الإيطار false تتفعل بعد الضغط
شكرا و لاكن لم يفلح معي


رسم اطار على الصوره - SMP3 - 12-03-2013

إقتباس :لان الصوره من نوع Jpg
تفضل :
PHP كود :
function FrameBitmap(srcbmp:TGraphic;out DstBmp:TBitmap; const FrameColor:TColor=clBlack;FrameWidth:Integer=0):TBitmap;
var
w:integer;
begin
 
if not Assigned(DstBmp) then
    DstBmp
:=TBitmap.Create;

 
DstBmp.Width :=srcbmp.Width  ;
 
DstBmp.Height:=srcbmp.Height ;

 
DstBmp.Canvas.Draw(0,0,srcbmp);
 
DstBmp.Canvas.Brush.Color:= FrameColor;
 
DstBmp.Canvas.Pen.Color:= FrameColor;

 if 
FrameWidth <>0 then
   begin
    
for w := 0 to  FrameWidth do
    
DstBmp.Canvas.FrameRect(Rect(w,w,DstBmp.Width-w,DstBmp.Height-w));
   
end else
    
DstBmp.Canvas.FrameRect
    
(Rect(0,0,DstBmp.Width,DstBmp.Height));

 
Result:= DstBmp;

end; 

الاستعمال :
PHP كود :
var bmp:TBitmap ;
begin
bmp
:=TBitmap.Create;
Self.Image2.Picture.Graphic:=FrameBitmap(Self.Image1.Picture.Graphic,bmp,clRed,4);
bmp.Free;
end;