Electronic Gilgamesh
عزيزي الزائر كما هو واضح بأنك زائر للمنتدى لذى نود ان ندعوك الى الدخول ان كانت لديك عضوية او التسجيل في المنتدى نتشرف بتواجدك معنا حيث المعلومة الجديدة والدروس التعليمية الحصرية

انضم إلى المنتدى ، فالأمر سريع وسهل

Electronic Gilgamesh
عزيزي الزائر كما هو واضح بأنك زائر للمنتدى لذى نود ان ندعوك الى الدخول ان كانت لديك عضوية او التسجيل في المنتدى نتشرف بتواجدك معنا حيث المعلومة الجديدة والدروس التعليمية الحصرية
Electronic Gilgamesh
هل تريد التفاعل مع هذه المساهمة؟ كل ما عليك هو إنشاء حساب جديد ببضع خطوات أو تسجيل الدخول للمتابعة.

اهم الطرق في لأستخدام الرسومات في الفيجوال بيسك

2 مشترك

اذهب الى الأسفل

اهم الطرق في لأستخدام الرسومات في الفيجوال بيسك Empty اهم الطرق في لأستخدام الرسومات في الفيجوال بيسك

مُساهمة من طرف كلكامش الألكتروني الخميس يناير 22, 2009 8:27 pm

الرسومات في فيجوال بيسيك

الالوان : هناك طريتقتين لتحديد الالوان فى لغة الفيجوال بيزيك
1- باستخدام الوظيفة RGB Function لتحديد قيمة الالوان الاساسية ( احمر ، اخضر ، ازرق)

RGB (0, 128, 0 )
يمكن اعطاء قيمة الالوان من O الى 255

امثلة :

كود
FORM1. BACKCOLOR = RBG (0,128, 0 ) ( Green)
FORM2. BACKCOLOR = RGB (255 , 255, 0 ) (Yellow)
Pset ( 100, 100), RGB ( 0,0,64) ' Set Point to blue dark






- استخدام الوظيفة QBCOLOR

وهى تحدد قيمة الالوان طبقا لجدوال الالوان الموجودة فى ميكروسوفت كويك بيزك
وهى الالوان من 0 الى 15، مثال :



كود
FORM1.BACKCOLOR = QBCOLOR (5)



لانشاء الرسوم فى تطبيق يمكن استخدام ايكونات التحكم فى مسطرة الادوات:



كود
Shape Control
Line Control





اضافة الصور للتطبيق :

من السهل اضافة الصور خلال مرحلة التصميم
* لعرض صورعلى سطح الفورمة :-
اضغط خاصية picture للفورمة ثم قم باختيار
الصورة المراد عرضها على سطح الفورمة
* او يمكن استخدام أداة image او picture وذلك بسحب الاداة المطلوبة وادراجها فى الفورمة ، ثم من نافذة الخواص Properties List خاصية picture حمل الصورة المطلوبة لاحظ الفرق بين اداة image ، واداة picture
فالاداة picture بها خاصية autosize لامكانية ضبط ابعاد الاداة حسب حجم الصورة ، والاداة image ليس لها هذه الخاصية .
كما يمكن استخدام اللصق واللزق / او النسخ واللصق من اى برنامج أخر مثل paint brush

ولتحميل الصورةاُثناء التشغيل :-
نستخدم الوسيلة LoadPicture كما يلى ** ادرج على فورمة اداة صورة picture وغير اسمها الى picShow .
** لتحميل صورة home.jpg من الدليل c:\images اكتب الامر كما يلى


كود
PicShow.Picture = LoadPicture ("C:\images\home.jpg")



ويمكن استخدام loadpicture لتحميل صورة من اداة/ او صندوق صورىة اخر فاذا كان لدينا اداة image تسمى imgShow فى نفس الفورمة ونريد أن ننسخ الصورة الموجودة فى picShow فى هذه الاداة ، نستخدر الامر التالى :-


كود
Set imgDisplay.Picture = PicDisplay.Picture



يمكن استخدام الوظيفة Load Picture لحذف صورة اثناء التشغيل كمايلى :


كود
Set imgDisplay.Picture = LoadPicture("")




الرسم فى VB

تستخدم اوامر الرسم فى vb لرسم نقط Pset او خطوط Line او دوائر circle

رسم النقط :-
يتم تحديد موقع النقطة على الشئ المراد الرسم داخله ، ولتكن موقع النقطة داخل هذا الشئ هى 50,70 يكون الامر كالتالى



كود
Pset(50,70)



يمكن استخدام الالوان - انظر درس الالوان فى vb - كما يلى


كود
Pset(50,70),RGB(0,0,255)



جرب المثال التالى لرسم نقط عشوائية على الاداة الحالية


كود
sub DrawPointsRnd()
R= 255 * Rnd
G= 255 * Rnd
B = 255 * Rn
XPos = Rnd * Scale Width
Ypos = Rnd * Scale Height
Pset (Xpos, Ypos), RGB ( R,G,B)
END SUB





رسم الخطوط والاشكال الرباعية :-

يستخدم امر line لرسم خط بين نقطتين كما يلى



كود
line(50,50)-(700,500)



ويستخدم الامر line لتوصيل خط من اخر نقطة تم رسمها لنقطة اخرى كما يلى


كود
line -(1000,1000)



لقد تم رسم الخط من اخر نقطة تم رسمها (500,700) الى النقطة (1000,1000) - لاحظ استخدام "-" كما يمكن رسم الاشكال الرباعية - المستطيل او المربع - بألامر line كما يلى


كود
Line(500,500)-(1000,1000),,B



لقد تم رسم شكل رباعى طول ضلعه 500 (تويب) من النقطة (500،500) ( اى الى النقط (1000،1000) ويمكن أن نرسم نفس هذا الرسم بأستخدام step والتى نستخدمها لنسب النقط واحدة بالاخرى انظر المثال لتفهم مااعنيه :


كود
Line (500,500) - step (1000, 0)
Line- step (0,1000 )
Line - step( - 1000 , 0)
Line- step ( 0, -1000)






الخطوة الاولى باستخدام step رسمنا خط طوله 1000 تويب من عند النقطة 500 موازيا للمحور x
الخطوة الاولى باستخدام step رسمنا خط طوله 1000 تويب من عند النقطة 500 موازيا للمحور y عموديا على الخط الاول
وهكذا .. رسمنا الشكل الرياعى باستخدام step
لاحظ علامتى ",," فهما يستخدمان لادراج اللون ، كما أن استخدام حرف b يستخدم لرسم شكل رباعى مفرغ ، ولرسم شكل رياعى مصمت نستخدم bf كما يلى


كود
line(500,500)-(1000,1000),qbcolor(4),bf



لقد رسمنا شكلا رباعيا مصمتا لونه احمر - راجع درس الالوان -
لاستخدام هذه الاساليب لابد من تحديد الكائن
[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] ، والا سيعتبر VB ان الكائن المراد الرسم عليه هى الفورمة التى تنادى الكود .

***المثال التالى برسم على الفورمة MyForm


كود
MyForm.pset( 500, 500)




***المثال التالى يرسم فى صندوق صورة يسمى PicShow


كود
PicShow.Pest (500, 500)




***المثال التالى يرسم فى الفورمة الحالية :

كود
Pest ( 500 , 500 )


***استخدام CLS لمسح الشاشة :

كود
PicShow.cls




رسم الدوائر


كود
[Object.] Circle[Step] (x,y), Radius [ , Color]




المثال يرسم دائرة نصف قطرها raduis عشوائى وبالوان عشوائية :



كود
Sub CircleDemo ( )
Dim Radius
R = 255 * Rnd
G = 255 * Rnd
B = 255 * Rnd
Xpos = ScaleWidth/12
Ypos = ScaleHeight/12
Radius = (( YPOS * 0.9) +1) * Rnd
Circle ( Xpos,Ypos) , Radius , RGB(R,G,B)
END SUB






لرسم القوس :

لابد من تحديد الزاوية او نقطة البداية والنهاية


كود
[ Object.] Circle[Step] (x,y), Radius, [color], Start,End[, aspect]



قيمة aspect هى النسبة بين البعد العمودى و البعد الافقى
ويمكن رسم الشكل البيضاوى كما فى المثال التالى :


كود
Private sub form-click( )
FillStyle = 0
Circle ( 600, 1000) , 800 ,,,, 3
FillStyle = 1
Circle ( 1800 , 1000) ,800,,,, 1/ 3
END SUB





لاحظ استخدام fillstyle ، فاذا كانت قيمتها = صفر فأن الرسم يكون مفرغا ، واذا كان يساوى واحد فأن الرسم يكون مصمتا


انشاء رسم بسيط متحرك Animation
ي
مكن انشاء رسم بسيط متحرك وذلك بالتبادل فى اظهار رسمين او اكثر كما يمكن ذلك بتحريك الصورة :

- ضع اداة الصورة PICTURE على سطح الفورمة ، غير الاسم الى picIcon
- انسخ هذه الاداة والصقها بالفورمة ، ستظهررسالة لانشاء مصفوفة من اداة الصورة picIcon
- كرر ذلك ثانية
- اصبح لديك الان ثلاث ادوات لصندوق الصور هى picIcon(0),picicon(1),picIcon(2)
- ضع صندوق صورة على الفورمة وغير اسمها الى picDisp
- الان من قائمة الخواص حدد الايكونة التى تظهر فى كلا من صناديق الصور الثلاث الاولى وهى صور اشارة المرور الخضراء والانتظار الصفراء والحمراء بالتوالى
وستجد هذه الصور فى مكتبة الصور القادمة مع vb6 على مجلد common/graphics/icons/traffic
- ضع اداة المؤقت timer
- فى حدث timer1_timer اكتب الاوامر


كود
Private Sub Timer1_Timer()
If Form1.picDisp = PicIcon1(0).Picture Then
Form1.picDisp = PicIcon1(1).Picture
ElseIf Form1.picDisp = PicIcon1(1).Picture Then
Form1.picDisp = PicIcon1(2).Picture
ElseIf Form1.picDisp = PicIcon1(2).Picture Then
Form1.picDisp = PicIcon1(0).Picture
End If
End Sub





جرب تشغيل هذا البرنامج ، هل رأيت الاشارات الثلاث يتبادلن الظهور فى صندوق الصور picDisp ، اذا حدث ذلك فقد نجحت والا اعد كتابة البرنامج لاتنسى ان تكتب الامر التالى فى form1_load


كود
Form1.picDisp = PicIcon1(0).Picture



هل عرفت لماذا ؟

الان فلتجرب هذا البرنامج :
- ضع اداة المؤقت timer ، اضبط مواصفة interval =500 - او اكثر اذا اردت أن تجعل الاستجابة بطيئة - واكتب الاوامر التالية


كود
Private Sub Timer1_Timer()
Dim OldDrawStyle%
OldDrawStyle% = Form1.DrawStyle
Form1.DrawStyle = vbSolid
DrawRubberBand picDisp.Top, picDisp.Left, picDisp.Height, picDisp.Width
Form1.DrawStyle = OldDrawStyle%
End Sub





- اكتب الاجراء التالى


كود
Sub DrawRubberBand(ByVal x1, ByVal y1, ByVal x2, ByVal y2 As Single)
Dim OldDrawMode%
OldDrawMode% = Form1.DrawMode
Form1.DrawMode = vbInvert

Line (y1 - 10, x1 - 10)-(y2 + y1 + 10, x2 + x1 + 10), , B
Form1.DrawMode = OldDrawMode%
End Sub





لاحظ استخدام اوامر drawmod ,drawstyle


استخدام Anto Redraw :
خاصية AntoRedraw هى خاصية boolean والتى بضبطها الى TRUE يجعل مخرجات الرسم تخزن فى ذاكرة الحاسب .
فعند عرض نافذة فوق نافذه اخرى ، يجب حفظ النافذه الاولى بالذاكرة حتى يمكن اعادتها ثانية بعد انتهاء استخدام النافذة الثانية ، لذا يجب ان تضبط خاصة ِAutoRedraw للاولى الى TRUE والثانية الى FALSE ( حتى يمكن الغاؤها تماما
كلكامش الألكتروني
كلكامش الألكتروني
Admin
Admin

عدد الرسائل : 185
العمر : 36
تاريخ التسجيل : 11/11/2008

الرجوع الى أعلى الصفحة اذهب الى الأسفل

اهم الطرق في لأستخدام الرسومات في الفيجوال بيسك Empty رد: اهم الطرق في لأستخدام الرسومات في الفيجوال بيسك

مُساهمة من طرف hammody88 الخميس يناير 29, 2009 3:24 pm

عاشت ايدك ياورد
hammody88
hammody88

عدد الرسائل : 7
العمر : 35
تاريخ التسجيل : 16/12/2008

الرجوع الى أعلى الصفحة اذهب الى الأسفل

الرجوع الى أعلى الصفحة

- مواضيع مماثلة

 
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى