منتدى برمجة الجرافكس

 اسم العضو:alaa gomaa  الأربعاء,17/ذو الحجة/1428 هـ,03:22 مساءً
[ALIGN=center]

[IMG]http://www.arabmoheet.net/forum/pics/bsmla.gif[/IMG][/ALIGN]

[ALIGN=center]

[/ALIGN]

[SIZE=4][COLOR=royalblue][ALIGN=center]الجزء الثانى من نهضة الجرافيك[/ALIGN][/COLOR][/SIZE] فى الجز[URL=http://www.arabmoheet.net/forum/default.asp?codepage=3&topic_no=14500]فى الجزء الاول تعرفنا على :[/URL] 1- الاشكال التى توفرها لنا مكتبة الجى دى اى فى الدوت نت وكيفية رسم هذه الاشكال 2- انواع الفرش والاقلام 3- الالوان واختيارها . ولكن توجد بعض النقاط الاساسيه والمتقدمه التى يجب عليك كامبرمج جرافيك التعرف عليها واحترافها ايضا . لذالك قمت بتوضيح المفاهيم الاساسيه فى GDI فى الجزء الاول ومن خلال هذا الجزء ان شاء الله سوف اقوم بشرح المواضيع المتقدمه نسبيا فى استخدام مكتبة GDI ان شاء الله . وان شاء الله مع محاولاتك فى التطبيق وصناعة برمجيات صغيره ستصل الى درجة الاحتراف ان شاء الله . فى هذا الجزء سنتعرف على : [COLOR=tomato]1 – فضائيات الاسطح graphics وكيفية التعامل معها واجراء العمليات مثل :[/COLOR] [COLOR=skyblue] - كيفية تثبيت الرسومات على الاسطح . - فضائيات سطح الجرافيك [/COLOR] [COLOR=tomato]2 - فضائيات البيتماب والتعامل معها واجراء المؤثرات والمعالجه للصور [/COLOR] [COLOR=tomato]3 – كيفية رسم فورم برمجيا والغاء شكل الفورم التلقيدى للمايكروسوفت مثل فورم الميديا بلاير والريال بلاير والوين امب .......الخ .[/COLOR] [COLOR=tomato]4 - كيفية صناعة ادوات حاصه تقوم بمهام معينه ومحدده او حتى ادوات مرنه .[/COLOR] [ALIGN=center]:.5:[/ALIGN] [COLOR=red][ALIGN=center]اولا : تثبت الرسومات على سطح الفورم[/ALIGN][/COLOR] [ALIGN=center]

[/ALIGN]

فى الجزء الاول عندما كنا نتعلم كيفية رسم الاشكال على الفورم كنا نستخدم كود ثابت فى كل مره نقوم فيها بعملية رسم : [CODE]Private gra As Graphics = gra.FromHwnd(Me.Handle)[/CODE] وقد تعرفنا على هذاالكود وعلمنا ان هذا الكود معناه اننا حجزنا متغير من النوع سطح جرافيك وهذا السطح هو سطح الفورم [CODE]me.handle[/CODE] بذالك يكون لدينا السطح الذى نريد الرسم عليه ولكن المشكله تكمن عند عمل تصغير للفورم مثلا او عمل اعادة رسم الفورم refresh نجد ان الفورم قد قام بمسح جميع ماقمت برسمه على سطح الفورم . فى الاصدار فيجوال بيسيك 6 كانت مايكروسوفت تتيح للمبرمج الحفاظ على رسومات الفورم من خلال جدول خصائص الفورم فى خاصيه تسمى auto redraw ومعناها اعادة رسم الفورم مره اخرى وكان كل ماعليك هو جعل هذه الخاصيه بالقيمه false لكى تحافظ على رسوماتك . ولكننا هنا فى الاصدارات المطوره من المايكرو سوفت فنجد ان هذه الخاصيه غير متوفره , ونجد البعض منكم قد شعر بالملل ومنكم من بحث فى المواقع الاجنبيه لمعرفة كيفية تثبيت الرسومات على سطح الفورم . بصراحه انا تعبت جدا علشان اعرف طريقة لحل هذه المشكله والحمد لله وبفضل الله تعالى : من جد وجد : فعلا بالرغم اننى بحثت كثيرا ووجدت البعض يقول قم بعمليات الرسم فى الحدث paint للفورم , وهى طريقه صحيحه فعلا ولكنها ليست مرنه بحيث انك سترسم على الفورم مره واحده فقط ؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟ظ ولكن ماذا اذا اردت ان تقوم بعمل برنامج زى الفوتوشوب مثلا كيف تجعل البرنامج مرن بحيث يسمح للمستخدم اعادة الرسم والمسح والتلون و......وجميع عمليات معالجة الصور . هذا ماسنعرفه فى الدروس التاليه ان شاء الله ............................. [ALIGN=center][COLOR=red]

Bitmap[/ALIGN][/COLOR]

[ALIGN=center]

[/ALIGN]

Bitmapماهو البيت ماب هو عباره عن صوره اى نوع من انواع الصور jpg , gif , png , bmp , ……….etc ولكن لن تحدد نوع الصوره الان ولكن البيتماب عباره عن صوره نقطيه مخفيه او فارغه ويمكنك ان ترسم على هذه الصوره الفارغه وتملئها بالوانك ورسوماتك التى تريدها . ويمكنك ان ترسم اكثر من مليون صوره وكما تريد فمثلا مبرمجى الفوتوشوب قد استخدموا قواعد البيانات فى انشاء البرنامج !!!!!! نعم انت تتعجب من ذذالك ومعظم الالعاب الشهيره التى تم تصميمها بالدايركت اكس قامت اسا سا على الداتا باس حيث سهولة الوصول الى الصور والمعالجه السريعه ليس هذا مجال الشرح الان . اهههه لقد تحدثت كثيرا ومنكم من شعر بالملل ولكن دعنا نوضح الفكره بشكل افضل وبشكل عملى من خلال الكود . 1 - قم الان بفتح مشروع جديد 2 - سنقوم بتعريف متغير من النوع صوره او bitmap وحجم الصوره سيكون (500, 500) او (طول , عرض)ويمكنك ان تحدد ابعاد الصوره المناسبه لك و لكنى اخترت 500 , 500 كمثال فقط . [CODE] Private bit As New Bitmap(500, 500)[/CODE] اصبح لدينا الان متغير اسمه bit من النوع bitmap وابعاد الصوره (500,500) . جميل جدا بهذا تكون قد قمت باهم خطوه فى عالم الجرافيك وهى حجز صوره فى ذاكرة الحاسب هذه الصوره ستكون هى السطح الذى سترسم عليه وستقوم بجميع عملياتك من المعالجه للصور والرسومات . 3– سنقوم الان بتعريف السطح الذى سترسم عليه كما سبق [CODE] Private gra As Graphics = gra.FromImage(bit)[/CODE] الان اصبح لدينا سطح الرسم الذى سنقوم بالرسم عليه وهاقد بدء العمل والاستمتاع بالجرافيك . لا تقم بتشغيل الفورم الان انتظر سنقوم الان برسم دائره على سطح الرسم gra والذى يمثل الصوره المخفيه عن المستخدم . فى الحدث لود load للفورم سنقوم برسم مربع على السطح وسيكون كود الرسم كالمعتاد كما كنا نرسم فى الجزء الاول : [CODE] gra.FillRectangle(Brushes.Black, 0, 0, 500, 500)[/CODE] طبعا اعتقد انك تعرف جيدا هذا الكود ولا تحتاج الى شرح والان شغل البرنامج ...................................................................... وبعد ان قمت بتشغيل الفورم ستجد مفاجأه لك ان الفورم لا يوجد عليه اى شئ بتاتا .!!!!! لاتتعجب فانك حتى لان قد رسمت على سطح خفى وهو الصوره , فانت لا ترى الصوره ولكنك رسمت عليها .........هذه هى النقطه الرئيسيه التى اردت ان اصل بك اليها والان لابد وان نرى السطح الخفى او الصوره التى رسمنا عليها ويمكنك عمل ذالك باعادة رسم الصوره على الفورم حتى يمكن للمستخدم رؤيتها . ففى الحدث paint للفورم سنجعل الفورم دائما يرسم السطح الخفى الذى حددناه وبذالك يكون الكود : [CODE]e.Graphics.DrawImage(bit, 0, 0, bit.Width, bit.Height)[/CODE] سنتعرف على الكود : E عباره عن معامل رسم الفورم ويمثل الحدث paint وفى هذا الحدث فى سطح الفورم graphics قد قمنا برسم الصوره او السطح الخفى bit التى رسمنا عليها المربع . bit.with عباره عن رقم يمثل عرض الصوره ويمكنك ان تحدد اى رقم تريده لترسم به الصوره على الفورم bit . height عباره عن رقم يمثل ارتفاع الصوره او السطح الخفى الذى نرسم عليه . والان شغل البرنامج مره ثانيه ............ بذالك نكون قد قمنا بحل مشكلة اعادة رسم الفورم والاحتفاظ بالرسومات التى نرسمها ومن خلال هذا الدرس قد تعرفنا على علاقة الجرافيك بالصوره الخفيه (bitmap) وايضا تعرفنا على تفادى مشكلة اعادة رسم الفورم والاحتفاظ بالرسومات على سطح الفورم . والان حاول بقدر الامكان استخدام الماوس فى رسم دائره على السطح الخفى . انتظروا بقية الدروس بأذن الله تعالى  

 اسم العضو:beauty heart  الجمعة,19/ذو الحجة/1428 هـ,12:06 مساءً
اله ياااااااااارب يعطيك العافية يارب ما انكون تقلنا عليك بشي والله ايقويك واتكمل الدروس معانا لأنها ممتعه مفيدة كتييييييييييييييييييييييييييير سلام  

 اسم العضو:amr_a  الاثنين,25/فر/1429 هـ,04:55 صباحاً
ما شاء الله اسلوبك خطير فى الشرح لماذا لم تكمل  

 اسم العضو:baseet  الأحد,14/ربيع الثاني/1429 هـ,02:23 صباحاً
استمر لو سمحت 

 اسم العضو:abosaad54  الجمعة,14/ذو الحجة/1429 هـ,07:24 مساءً
روعة....... ابداع........ جمال........ مرونة........ تدرج في التلقين........ سهولة في التدريب......... نتائج مشجعة........ تشويق في العرض....... والتجربة برهان ولا اروع هكذا يكون التمكن........... وهكذا يتم التعليم ...............وهكذا تعطى الفوائد ............... وهكذا نصل الى الرقي في التعامل كثر الله من امثالك يا استاذ علاء شككككككككككككككككككككككككككككككككككرا جزيلا 

 اسم العضو:unidiamond  الأربعاء,08/محرم/1434 هـ,03:05 مساءً
ياريت لو يتم اكمال الدروس من حيث ماوصلت لاني بدات استمتع بصراحه واستفيد بشكل كبير من المعطيات. وشكرا. 

 اسم العضو:أحمد النجدي  الجمعة,05/جمادى الثانية/1438 هـ,01:21 صباحاً
أكرمكم الله معلومات رائعة لكل من يريد دخول هذا المجال 

جميع الحقوق محفوظة لـمنتديات المحيط العربي 2004 - 2021