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

اعادة رسم صورة بالبكسل

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

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

بحثت ولم أجد حلا لمشكلتي حيث هذا البرنامج يعيد رسم الصورة الموضوعة بالبكسل بعد الضغط علي button الرجاء انتظار قليل ثم تظهر الصورة ومشكلة هي اني اريد ان عندما أقوم بالضغط علي احد المربعات(الصورة المعادة الرسم) التي لونه ليس الابيض تمحي هذه البكسل من الصورة الاصلية ويتلون دلك المربع بالاحمر

هذا البرنامج .

Example_1.zip

#2

كنت أتمنى أن تضع محاولتك أو على الأقل طريقة في التفكير لحل المشكلة

اقتباس
ومشكلة هي اني اريد ان عندما أقوم بالضغط علي احد المربعات(الصورة المعادة الرسم) التي لونه ليس الابيض تمحي هذه البكسل من الصورة الاصلية ويتلون دلك المربع بالاحمر

لنحلل المشكلة حتى نعرف الخطوات التي ينبغي عملها للتوصل للحل

اقتباس
اريد ان عندما أقوم بالضغط

هنا ستبادر إلى ذهننا OnClick event .. هذا الحدث لمن؟

نتابع

اقتباس
علي احد المربعات(الصورة المعادة الرسم)

ما هي هذه المربعات ؟

نلقي نظرة على الكود ....

هي عبارة عن مصفوفة من TImage

imgtext:array of Timage;

اذا الحدث OnClick الذي نريد التعامل مع هو خاص بـ TImage . حيث أن الـ TImage هذه تنشئ أثناء runtime

imgtext[imgcount-1]:=timage.Create(self);

إذا نسند قيمة لهذا الحدث بعد الإنشاء ... كيف؟

في private الخاص بـ TFrmZoom نضف ما يأتي

  private
	{ Private declarations }
	procedure MyClick(sender : TObject);

ثم نسند هذه الـ procedure كقيمة للحدث كالآتي

			 imgtext[imgcount-1]:=timage.Create(self);
			 imgtext[imgcount-1].OnClick:=MyClick;

إنتهينا من تحليل جزء من العبارة, نكمل الجزء الباقي

اقتباس
التي لونه ليس الابيض تمحي هذه البكسل من الصورة الاصلية ويتلون دلك المربع بالاحمر

حين تم تحفيز الحدث onclick بالضغط على أي مربع (Image) من المربعات (array of images) نتفحص لون هذا المربع ونقوم بالمطلوب .. أي أن هذه العملية ستتم في الحدث Onclick اي في التابع الذي تم إسناده Myclick

والكود سيكون كالتالي :

procedure TFrmZoom.MyClick(sender: TObject);
begin
// check if the control is TImage
  if (Sender is TImage) then
  with TImage(Sender)do
  begin
	case (Canvas.Brush.Color)of
	clWhite:
		  begin
		  {do nothing}
		;
		  end;
	clRed: //already changed to red
		  begin
		  {write your code}
		;
		  end;
	else   //change to red
		  begin
			Canvas.Brush.Color:=clRed;
			Canvas.Rectangle(0,0,19,19);
			//change the original pixel color
			image1.Canvas.Pixels[(Left div 20)+1,(Top div 20)+1]:=clRed;
		  end;
	end; {case}
  end;{with}
end;

بامكانك تغيير الكود أعلاه بما يتناسب مع ما تريد ...

أتمنى أني أكون فهمت سؤالك جيداً ...

تم تعديل هذه المشاركة بواسطة cipher في 5 أغسطس 2007 في 11:48

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

===

اقتباس

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

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

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

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

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

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

===

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

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

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

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

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

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

#3

السلام عليكم اريد منكم مساعدة لتكوين مصفوفة تعرض لي ألوان الحرف الدي سوف اضغط عليه علي الفورم

#4

طيب قبل لا تطلب شي ثاني ... رد على الرجال اللي تعب ورد عليك وشرح لك بالتفصيل ... يكفي تقول شكرآ .

#5

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

بارك الله في كل من حاول أن يساعدني السبب الذي لم يجعلني أرد ردا كاملا انه كان هناك خلل في الكونكشن

وأعتذر للمرة الثانية ....

الكود السابق الذي ذكرته لم ينجح معي وإستطعت بفضل الله ايجاد كود أسهل

وهذا هو الكود:

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

بارك الله في كل من حاول أن يساعدني السبب الذي لم يجعلني أرد ردا كاملا انه كان هناك خلل في الكونكشن

وأعتذر للمرة الثانية ....

الكود السابق الذي ذكرته لم ينجح معي وإستطعت بفضل الله ايجاد كود أسهل

وهذا هو الكود:

Example_1.rar

#7
اقتباس
الكود السابق الذي ذكرته لم ينجح معي وإستطعت بفضل الله ايجاد كود أسهل

الكود الذي أرفقته يقوم بشئ غير المطلوب في سؤالك المصاغ في بداية الموضوع

اقتباس
اريد ان عندما أقوم بالضغط علي احد المربعات(الصورة المعادة الرسم) التي لونه ليس الابيض تمحي هذه البكسل من الصورة الاصلية ويتلون دلك المربع بالاحمر

يبدو أنك أساساً لا تعلم ما الذي تريد عمله .

قبل أن تكتب موضوعاً عليك معرفتك ما الذي تريده حتى لا تضيع وقت الآخرين

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

===

اقتباس

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

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

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

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

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

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

===

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

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

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

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

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

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

#8

السلام عليكم اعتذر عما بدر مني ولكن ياخي قد لايكون قد اوصلت لك ماريد وبدلك لم تفهمني ولكن هذالايعني اني لااعرف ماريد

وجزاك الله خيرا علي تعبك وجعله في ميزان حسناتك

#9

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

أخي الكريم مشكور على طرح الاجابة جربت الكود الثاني ونجح معي لكن عندي سؤاال إضافة لنفس الفورم

إذا وضعت Image ثانية أو إستخدمت نفس الأمج الاولى ؛ السؤال كالتاي عندما أعمل click على الايمج كيف أخزن قيم الالوان التي تحتويها الصورة داخل المصفوفة ؟؟؟؟؟ وكيفية عرض هذه القيم داخل الفورم. :wacko:

بارك الله جهودكم أجمعين :lol:

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

045bxn.jpg

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

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