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

هل بامكان فورم تغيير ألوان مجموعة من النقاط موجودة على صورة في فورم أخرى؟

مغلق
بدأه عابرة في 9 أبريل 2007 · 0 رد · 373 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1

السلام عليكم

بعد العديد من الممحاولات أطلبكم المساعدة

لدي piture box موجودة على form1

أقوم برسم مجموعة من النقاط عليها/ عند الحدث :

PictureBox1_Paint

أقوم بالتالي:

Dim gr As Graphics
		Dim pt As classPt
		gr = e.Graphics

		   For Each pt In ptList
				pt.initPoint()
				pt.Draw(gr)
			Next

وكما تلاحظون من الكود السابق إني أنشأت كلاس يدعي : classPt بداخلة دالتين: initPoint + Draw

في الدالة: initPoint

Public Sub initSquare()

						ptColor = Color.Red()
			SQPEN = New Pen(ptColor )
		SQBrush = New SolidBrush(ptColor )
		  End Sub

وفي الدالة:Draw

Dim left, top, width, height As Integer
		left = center.X - radius
		top = center.Y - radius
		width = 2 * radius
		height = 2 * radius

		path = New GraphicsPath
		path.StartFigure()
		path.AddEllipse(left, top, width, height)
		path.CloseFigure()

		SQPEN.Color = ptColor 
		SQBrush.Color = ptColor 

If IsMid = False Then
			  gr.FillPath(SQBrush, path)
		gr.DrawPath(SQPEN, path)
	   Else
		   gr.FillPath(Brushes.Blue, path)
		  gr.DrawPath(Pens.Blue, path)
		End If
		Next	  
End Sub

وكما تلاحظون في الدالة الثانية تقوم باختبار النقطة قبل تلوينها

فإذا كانت mid لونتها بالازرق

ولو كانت ليست mid بقيت بالاحمر

طبعا الاختبار mid أو ليست mid يكون باستخدام كلاس ثانية تدعى classmid

وبها الغورذيتم يختبر كل نقطة حتى يجد الـ mid المناسبة لكل مجموعة

حتى الآن لا مشكلة وهذه الصورة عند رسم نقاط على picture box:

1176106556_befor.JPG

وبعد الاختبار:

after.JPG

المشكلة إني أردت أن أجعل كل مجموعة بلون مختلف

ولذلك قمت بالتالي:

في الفورم الرئيسية للبرنامج وبعد حساب النقاط التي تنتمي لكل مجموعة والـ,mid للمجموعة أقوم بتلوين كل نقطة في كل مجموعة عن طريق استدعاء الدالة

Draw والموجودة في الكلاس: classPt

يظهر خطأ عند الـ path لأنه لا يقبل استدعاءه في مرتين أو هكذا فهمت من رسالة الخطأ

أرجو مساعدتي لأني تعبت جدا من كثرة المحاولات ولم أصل لنتيجة

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

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…