PDA

عرض كامل الموضوع : دروس في الرسم بالفجوال بيسك



hussain
03-06-2004, 12:58 PM
اولا من الصيغ الاساسية للتعامل مع الالوان الدالتين
pset( , )
point( , )

و هما عكس بعضهما
فالدالة الاولى تقوم بارسال لون لنقطة محددة مثلا

CODE

pset(100,100)



ترسل الي النقطة ذات الاحداثيات (100و100) لونا =لون الخط في الفورم
form1.forecolor
والوضع الطبيعي هو اللون الاسود ما لم يغيره المستخدم

بالنسبة للاحداثيات في الشاشة :
تعتبر النقطة اعلى يسار الشاشة هي النقطة (0و0)والتدرج يذداد كلما اتجهنا يمينا او الى اسفل
اي ان المحور الراسى معكوس من ما معتاد لنا في الرسم البياني

نعود الان الى الالوان ونفرض اننا نريد ان نضع نقطة بيضاء في النقطة (50و150) فيصبح الكود

CODE

pset(50,150),vbwhite



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

CODE

form1.drawwidth=7



و وضع اي رقم بدلا 7 التي في المثال
بالنسبة للالوان توجد عدة طرق لكتابتها ..اشهرها
vbcolor
مثل
vbwhite,vbred , vbblack
و غيرها من الالوان و لكن في بعض الاحيان تحتاج لدرجة لون محددة و هنا نستعمل
rgb( , , )
و هي الحروف الاولى للالوان احمر اخضر و ازرق
فنضع في البارميتر درجة كل لون من الالوان الثلاث ( وهي الالوان الاساسية ) لنحصل على درجة اللون المطلوب
مع ملاحظة ان درجة اللون تتدرج من 0 الى 255

الصيغة point
تقوم بالعملية العكسية فباختيار اي نقطة تقوم هذه الدالة بارجاع درجة لونها
لنجرب الان هذا المثال

CODE

Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
form1.drawwidth=7
pset(x,y),rgb(100,100,100)
end sub



سيقوم البرنامج برسم خطوط متقطعة اقرب الى نقاط متقطعة مع حركة الماوس
لمعالجة التقاطعات نستعمل دالة اخرى و هى
line(,)-(,)
وباعطاء احداثيات نقطتين يتم رسم خط بينهما مثلا
مع اضافة
text1 and text2 to the form

CODE

Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Form1.ForeColor = vbRed
Line (X, Y)-(Val(Text1.Text), Val(Text2.Text))
Text1.Text = X
Text2.Text = Y
End Sub



تحياتي :حسين

savelook
25-06-2005, 02:42 PM
www.di.fm:

hunt
21-09-2005, 10:29 PM
اتمنى منك اخى المسلم ان تكون معلما لاخوك المسلم كى اكون على كفاءاة عاليا منك بعد التوفيق من الله