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

Cut Zoom Move

مغلق
بدأه أمة الرحمن في 20 أكتوبر 2007 · 9 رد · 1,166 مشاهدة · في لغة Delphi
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

اخوتي الافاضل

وضعت بين ايدكم جزء من كود لمشروع تخرجي ان شاء الله منه للاستفادة من من الفكرة الموجودة به منه الاستفادة من الثغرات التي واجهتنا

ممع العلم انى ان هذا الجهد مجهود جماعي

أولا بيئة العمل المعمول بها هنا دلفي 6

والبرنامج عبارة عن مجموعة من البروسيدجور.......

قبل البدأ في شرح البروسيدجور :

نوضح المحتويات للفورم

image تحتوزي على صورة يوجد بها الحورف الابجدية العربية

الزر cut لأخذ مقطع من الصورة

shape تم برمجتها بحيث كلمتا نضع الشيب على جزء من الصورة يتم عرض ذلك الجزء من خلال البرسيدجور zoom

بقى لدينا زرين محيرينييييي :angry: زر تحريك الصورة المكبرة ((zoom)) الى اليمين والى اليسار ...

بحيث عند النضر في الصورة المكبرة الناتجة عن الزر زوم

عند الزر التحريك الى اليمين : يتم أخذ العمود الموجود الى يمين الصورة ووضعه الى يسار السورة وهكذا عند كل ضغطة للزر اليمين

والزر اليسار بعكس السابق

آآآآملين اللاستفادة والالفادة للجميع

أخوكم kombarji :D

ملاحضة أنظر للملف المرفق للبرنامج

CopyRect.rar

اللهم إنك عفو تحب العفو فاعفو عنــــــــــــا

045bxn.jpg

#2
اقتباس
البروسيدجور

ما هذا ؟ ممكن تكتب الكلمة الانجليزية بجانت كل كلمة عربتها!

d4baa0.gif
#3

يمكن يقصد procedures :)

تم تعديل هذه المشاركة بواسطة G~M في 20 أكتوبر 2007 في 20:12

mov eax, dword ptr ds:[0xffdf0308]

jmp dword ptr [eax+0xfc]

#4

اها شكرا G~M

لم اكن اعرف انه في بعض المناطق العربية D تقرء دج اي dj

d4baa0.gif
#5
B.M.AbdelAziZ كتب:

ما هذا ؟ ممكن تكتب الكلمة الانجليزية بجانت كل كلمة عربتها!

-_- هه ....

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

معك حق أخي الكريم في هذا الطلب لولاحظت أن الاملاء بها أخطاء املائية كثيرة وهذا راجع للعجلة في الكتابة خوفا من هروب ال(( كونكشن )) :lol: عندنا

ههه... على العموم تعليقك في محله

وفي المرة القادمة سوف يتم كتابة المصطلحات باللغة النجليزية

وملاحظة لصاحب التعليق على الحرف D

du: يا أخي الكريم تقرأ j ;)

المهم -_- لسنا في درس لغة انجليزية

هل فهمتم فكرة البرنامج ؟؟؟؟؟

الفكرة محتاجة رياضة اصابع بين المتنافسين :lol:

اخوكم في الله kombarji

اللهم إنك عفو تحب العفو فاعفو عنــــــــــــا

045bxn.jpg

#6

أظن أن هناك خطأ في الكود حسب فهمي للفكرة

قم بالتعديلات الآتية و آخبرني هل النتيجة هي التي تريدها أم لا ...

كود Shape1MouseUp

procedure TForm1.Shape1MouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
   var
  MyRect,DestRect: TRect;

begin
if Dragging then
 begin
  canvaS.DrawFocusRect(FocusRect);
  Dragging:=falSe;
  With sender as TShape do
  begin
  left:=(Left+X)-XOffset;
  top:= (Top+y)-yOffset;
  end;
 end;

  //x:=shape1.Left-image2.Left;
  //y:=shape1.Top-image2.top;

  //MyRect := Rect(x,y,x+shape1.ClientWidth,shape1.ClientHeight+y);

 MyRect := Rect(shape1.Left-image1.Left,shape1.Top-image1.Top,
  shape1.Width+shape1.Left-image1.Left,shape1.Height+shape1.Top-image1.Top);

 DestRect:= Rect(0,0,shape1.Width,shape1.Height);

 image2.Canvas.CopyMode:= cmSrcCopy;
 image2.Canvas.CopyRect(DestRect,Image1.Canvas,MyRect);
end;

في كود Zoom

تأكد من

for i:=1 to Timage(Sender).ClientHeight-1 do

و

for j:= 1 to Timage(Sender).ClientWidth-1 do

بالنسبة لفكرة اليمين واليسار هل ما يلي يفي بالغرض ... إن لم تكن ما تريد فمن الأفضل شرح الفكرة التي تريد عملها

لليمين

procedure TForm1.Button4Click(Sender: TObject);
var

   i,j,imgcount:Integer;
   sizeWidth:integer;
   sizeHeight:integer;
   MyRect,DestRect: TRect;
begin
  Shape1.Left:=Shape1.Left+1;

  MyRect := Rect(shape1.Left-image1.Left,shape1.Top-image1.Top,
  shape1.Width+shape1.Left-image1.Left,shape1.Height+shape1.Top-image1.Top);
  DestRect:= Rect(0,0,shape1.Width,shape1.Height);
  image2.Canvas.CopyMode:= cmSrcCopy;
  image2.Canvas.CopyRect(DestRect,Image1.Canvas,MyRect);

  ZoomImage(Image2);
end;

لليسار

procedure TForm1.Button3Click(Sender: TObject);
var
  MyRect,DestRect: TRect;
begin
  Shape1.Left:=Shape1.Left-1;

  MyRect := Rect(shape1.Left-image1.Left,shape1.Top-image1.Top,
  shape1.Width+shape1.Left-image1.Left,shape1.Height+shape1.Top-image1.Top);
  DestRect:= Rect(0,0,shape1.Width,shape1.Height);
  image2.Canvas.CopyMode:= cmSrcCopy;
  image2.Canvas.CopyRect(DestRect,Image1.Canvas,MyRect);

  ZoomImage(Image2);
end;

ملحوظة : حاول تعديل خورازمية التكبير لتكون أسرع ...

*التعديل : في تنسيق الكود

تم تعديل هذه المشاركة بواسطة cipher في 22 أكتوبر 2007 في 19:13

"First they ignore you, then they laugh at you, then they attack you, then you win"

===

اقتباس

حُكَّامُـنَا إِنْ تَصَـدّوا لِلْحِمَــى اقْتَحَمُـوا ***** وَإِنْ تَصَدَّى لَـهُ المُسْتَعْمِـرُ انْسَحَبُـوا

هُمْ يَفْرشـُونَ لِجَيْـشِ الغَــزْوِ أَعْيُنَـهُـمْ ***** وَيَدَّعُــونَ وُثُـوبَـاً قَـبْـلَ أَنْ يَثِـبُــوا

الحَاكِمُـونَ و«وَاشُنْـطُـنْ» حُكُومَتُـهُـمْ ***** وَاللامِعُــونَ وَمَـا شَعَّـوا وَلا غَرَبُــوا

القَاتِلُـــونَ نُبُــوغَ الشَّـعْــبِ تَرْضِـيَـــةً ***** لِلْمُعْتَدِيــنَ وَمَـا أَجْـدَتْـهُـمُ الـقُــرَبُ

لَهُمْ شُمُـوخُ «المُثَنَّـى» ظَاهِـرَاً وَلَهُـمْ ***** هَـوَىً إِلَـى بَابَـك الخَرْمِـيّ يُنْتَسَـبُ

البردوني "أبو تمام وعروبة اليوم" 1971

===

اقتباس
عبيد الهوى يحكمون البـلاد ***** ويحكمهــم كلّهـــم درهــــــم

و تقتـادهـم شهـوة لا تنــام ***** وهـــم فـي جـهالتهــم نــــوّم

ففــي كـــلّ ناحيــة ظـالـــم ***** غبــــــيّ يسـلـّطــــه أظلـــم

أيا من شبعتم على جوعــنا ***** وجـــوع بنينـا ألـم تتخمـــوا ؟

ألم تفهموا غضبة الكادحين ***** على الظلـم ؟ لا بدّ أن تفهموا

البردوني "نحن و الحاكمون "

#7

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

اخي في الله سلمت يداك وجزاك الجنة اللهم آآآآآمين

الكود بإذن الله قيد التجريب وسأخبرك بالنتائج .....

نقطة ثانية مهمة :

فعلا هناك مشكلة كانت تواجهنا في سرعة ظهور الصورة المكبرة وسنحاول بإذنه تعالى إخبارك بالنتائج

بارك الله فيك مرة ثانية ورحم الله والدينا ووالديك

kombarji

اللهم إنك عفو تحب العفو فاعفو عنــــــــــــا

045bxn.jpg

#8

آميـــن!

كنت أقصد أن الخطأ في Shape1MouseUp

بالنسبة للتسريع في عملية الـ Zoom , ربما إستعمال scanline سيكون أفضل ...

راجع ما يلي :

http://www.efg2.com/Lab/ImageProcessing/Scanline.htm

http://dn.codegear.com/article/29173

"First they ignore you, then they laugh at you, then they attack you, then you win"

===

اقتباس

حُكَّامُـنَا إِنْ تَصَـدّوا لِلْحِمَــى اقْتَحَمُـوا ***** وَإِنْ تَصَدَّى لَـهُ المُسْتَعْمِـرُ انْسَحَبُـوا

هُمْ يَفْرشـُونَ لِجَيْـشِ الغَــزْوِ أَعْيُنَـهُـمْ ***** وَيَدَّعُــونَ وُثُـوبَـاً قَـبْـلَ أَنْ يَثِـبُــوا

الحَاكِمُـونَ و«وَاشُنْـطُـنْ» حُكُومَتُـهُـمْ ***** وَاللامِعُــونَ وَمَـا شَعَّـوا وَلا غَرَبُــوا

القَاتِلُـــونَ نُبُــوغَ الشَّـعْــبِ تَرْضِـيَـــةً ***** لِلْمُعْتَدِيــنَ وَمَـا أَجْـدَتْـهُـمُ الـقُــرَبُ

لَهُمْ شُمُـوخُ «المُثَنَّـى» ظَاهِـرَاً وَلَهُـمْ ***** هَـوَىً إِلَـى بَابَـك الخَرْمِـيّ يُنْتَسَـبُ

البردوني "أبو تمام وعروبة اليوم" 1971

===

اقتباس
عبيد الهوى يحكمون البـلاد ***** ويحكمهــم كلّهـــم درهــــــم

و تقتـادهـم شهـوة لا تنــام ***** وهـــم فـي جـهالتهــم نــــوّم

ففــي كـــلّ ناحيــة ظـالـــم ***** غبــــــيّ يسـلـّطــــه أظلـــم

أيا من شبعتم على جوعــنا ***** وجـــوع بنينـا ألـم تتخمـــوا ؟

ألم تفهموا غضبة الكادحين ***** على الظلـم ؟ لا بدّ أن تفهموا

البردوني "نحن و الحاكمون "

#9
cipher كتب:
آميـــن!

كنت أقصد أن الخطأ في Shape1MouseUp

بالنسبة للتسريع في عملية الـ Zoom , ربما إستعمال scanline سيكون أفضل ...

راجع ما يلي :

http://www.efg2.com/Lab/ImageProcessing/Scanline.htm

http://dn.codegear.com/article/29173

السلام عليكم ورحمة الله تعالى وبركاته بارك الله فيك على الدروس ....

جزاك الله جنان الفردوس اللهم آآآآآآمين تم

عمل البرنامج وسأوافيك به في أقرب فربصة بإدنه تعالى

اللهم إنك عفو تحب العفو فاعفو عنــــــــــــا

045bxn.jpg

#10

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

أخي Cipher كما وعدت أحضرت ملف البرنامج .....

هذا كان الشكل المطلوب للبرنامج .....

ولكن إخواني فاضل نقطة بسيطة ... في زر قطع الصورة من الاعلى توجد مشكلة ... وهي عند قطع الصورة من الاعلى يتم إضافة الصف المقطوع إلى الصورة من أسفل .......وهذا غير مرغوب ....

ثاني نقطة الشكر والتقدير لكل من ساهم في المساعدة في إنجاز المشروع ... (( أسكنكم الله فسيح الجنان اللهم آآآمين )))

ثالث نقطة لاحظت أن بعض المواقع العربية (( والله يسامحهم نسبوا البرنامج لأنفسهم ... ))) الاولى يجب على الاقل ذكر المرجع الذي أخذ منه البرنامج فهو في النهاية جهد الاشخاص اللذين ساهموا في إخراجه والعمل عليه حتى ولو كان البرنامج بسيط .....

لكم مني جزيل الشكر والعرفان إخوتي في الله ....

وهذا هو الملف المرفق .....

Kombarji

CopyRect6.rar

اللهم إنك عفو تحب العفو فاعفو عنــــــــــــا

045bxn.jpg

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

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