الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

تقسيم صورة

مغلق
بدأه إبراهيم_دياب5 في 28 يونيو 2002 · 1 رد · 394 مشاهدة · في لغة Delphi
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته:

لقد قمت بعمل هذا الكود البسيط وذلك لتجزئة الصور ، مفترضاً فى هذا المثال أن لدينا صورة عرضها 893 وإرتفاعها 19 وتحتوى على 47 منظر فإذا قمن بحسبتها ستجد أن كل منظر مربع 19 × 19 وذلك بقسمة العرض الكلى 893 على عدد المناظر سنحصل على 19 ونعرف مسبقاً أن الإرتفاع 19 وأن الصور على شكل صف واحد.

لقد جائتنى الفكرة عندما فصلت من الــ Messanger من الــ Resources الخاصة به مجموعة الصور الصغيرة التى يمكنك إرسالها منه ، وكانت الصور عباره عن صورة واحدة بالوصف السابق فكان لابد من طريقة لفصلهم ، وها هى الطريقة لعلها تكون مفيده

ستحتاج لوضع 2 image الأولى تحتوى على الصورة والثانية فارغة

ووضع 1 label ، Button

procedure TForm1.Button1Click(Sender: TObject);

var

mybitmap:array[0..46] of graphics.TBitmap ;

x2,x:integer;

begin

for x := 0 to 46 do begin

mybitmap[x]:=graphics.TBitmap .Create;

mybitmap[x].Width:=19;

mybitmap[x].Height:=19;

end;

x:=-19;

x2:=0;

repeat

inc(x2);

label1.caption:=inttostr(x2);

x:=x+19;

mybitmap[x2-1].Canvas.copyRect( Bounds( 0,0,mybitmap[x2-1].Width,mybitmap[x2-1].Height ), image1.Canvas, Bounds( x,0,mybitmap[x2-1].Width ,mybitmap[x2-1].Height ));

image2.Picture.Bitmap:=mybitmap[x2-1];

application.ProcessMessages;

sleep(750);

until x=874;

for x := 0 to 46 do mybitmap[x].Free;

end;

مع تحياتى

إبراهيم دياب

(gift)

#2

(gift) (f)

بالفعل يا أخي أبراهيم لقد أثريت المنتدى بفوائدك تذكرني بمادي:'(

أرجو أنك لا تنزعج من قلة التفاعل في المنتدى فهذه طبيعة العرب سلبيين ، ولكنهم ثرثارين إلا إذا جاء وقت الجد والتشجيع فما في أحد يتكلم . :mad:

هذا الموضوع مغلق.

مواضيع مشابهة