استخدام gdi+ في الدوت نت - منتديات الجلفة لكل الجزائريين و العرب

العودة   منتديات الجلفة لكل الجزائريين و العرب > منتديات التقنية > منتدى البرمجة

منتدى البرمجة كل ما يتعلق بلغات البرمجة، فيجوال بيسيك , سي ++ , دلفي , أكسيس , جافا , هتمل...

في حال وجود أي مواضيع أو ردود مُخالفة من قبل الأعضاء، يُرجى الإبلاغ عنها فورًا باستخدام أيقونة تقرير عن مشاركة سيئة ( تقرير عن مشاركة سيئة )، و الموجودة أسفل كل مشاركة .

آخر المواضيع

استخدام gdi+ في الدوت نت

إضافة رد
 
أدوات الموضوع انواع عرض الموضوع
قديم 2011-11-26, 20:12   رقم المشاركة : 1
معلومات العضو
issam_dz
عضو مشارك
 
الصورة الرمزية issam_dz
 

 

 
إحصائية العضو










افتراضي استخدام gdi+ في الدوت نت


أقدم لكم اليوم برنامج بسيط لرسم محموعة أشكال لنتحصل على علم
الأمر يعتمد على بعض الحسابات الرياضية و استخدام بعض الدوال مثل الفرشاة brush و القلم pen
و كل هذا يدخل تحت ما يسمى استخدام GDI+ في الدوت نت

أول شيء ننشئ فورم عادي و نضيف لها الحدث Form1_Paint
ثم نضيف المكتبات التالية المهمة
و خاصة الأخير تين.
الآن يمكننا أن نكمل الباقي.



بالمناسبة رسمت علم الوم أ ليس حبا فيهم و لكن احتراما لهم و استحقارا لغابتنا غابة ميكي

و هذا سورس باقي الدول




كود:


using
System;
using System.Windows.Forms; using System.Drawing; using System.Drawing.Drawing2D; namespace WindowsFormsApplication2 { publicpartialclassForm1 : Form { public Form1() { InitializeComponent(); SetStyle(
ControlStyles.ResizeRedraw, true);
this.Width = 500; this.Height = 310; this.BackColor = Color.LightGreen; } privatevoid Form1_Paint(object sender, PaintEventArgs e) { Graphics g = e.Graphics; g.SmoothingMode =
SmoothingMode.AntiAlias;
DrawFlag(g, 20, 20,
this.Width - 50);
g.Dispose(); }
privatevoid DrawFlag(Graphics g, float x0, float y0, float width) { SolidBrush whiteBrush = newSolidBrush(Color.White); SolidBrush blueBrush = newSolidBrush(Color.FromArgb(0, 0, 128)); SolidBrush redBrush = newSolidBrush(Color.Red); float height = 10 * width / 19; g.FillRectangle(whiteBrush, x0, y0, width, height); for (int i = 0; i < 7; i++) { g.FillRectangle(redBrush, x0, y0 + 2 * i * height / 13, width, height / 13); }
RectangleF blueBox = newRectangleF(x0, y0, 2 * width / 5, 7 * height / 13); g.FillRectangle(blueBrush, blueBox);
float offset = blueBox.Width / 40; float dx = (blueBox.Width - 2 * offset) / 11; float dy = (blueBox.Height - 2 * offset) / 9; for (int j = 0; j < 9; j++) { float yc = y0 + offset + j * dy + dy / 2; for (int i = 0; i < 11; i++) { float xc = x0 + offset + i * dx + dx / 2; if ((i + j) % 2 == 0) { DrawStar(g,
this.Width/55, xc, yc);
} } } whiteBrush.Dispose(); blueBrush.Dispose(); redBrush.Dispose(); }
privatevoid DrawStar(Graphics g, float r, float xc, float yc) {
float sin36 = (float)Math.Sin(36.0 * Math.PI / 180.0); float sin72 = (float)Math.Sin(72.0 * Math.PI / 180.0); float cos36 = (float)Math.Cos(36.0 * Math.PI / 180.0); float cos72 = (float)Math.Cos(72.0 * Math.PI / 180.0); float r1 = r * cos72 / cos36;
PointF[] pts = newPointF[10]; pts[0] =
newPointF(xc, yc - r);
pts[1] =
newPointF(xc + r1 * sin36, yc - r1 * cos36);
pts[2] =
newPointF(xc + r * sin72, yc - r * cos72);
pts[3] =
newPointF(xc + r1 * sin72, yc + r1 * cos72);
pts[4] =
newPointF(xc + r * sin36, yc + r * cos36);
pts[5] =
newPointF(xc, yc + r1);
pts[6] =
newPointF(xc - r * sin36, yc + r * cos36);
pts[7] =
newPointF(xc - r1 * sin72, yc + r1 * cos72);
pts[8] =
newPointF(xc - r * sin72, yc - r * cos72);
pts[9] =
newPointF(xc - r1 * sin36, yc - r1 * cos36);
g.FillPolygon(
Brushes.White, pts);
} } }



هذه صورة البرنامج








وهذا رابط تحميل المشروع كامل بالنسبة للملف التنفيذي موجود داخل Debug












 


رد مع اقتباس
قديم 2011-11-26, 20:19   رقم المشاركة : 2
معلومات العضو
الباديسي
عضو ماسي
 
الصورة الرمزية الباديسي
 

 

 
الأوسمة
مميزي الأقسام صاحب أفضل موضوع سنة 2014 الموضوع المميز لسنة 2013 
إحصائية العضو










Hourse شكرا

شكـــــــــــــــــــــــــــــــــــــــرا لك










رد مع اقتباس
قديم 2011-11-29, 18:25   رقم المشاركة : 3
معلومات العضو
__الهاوي__
أستــاذ
 
الصورة الرمزية __الهاوي__
 

 

 
إحصائية العضو










افتراضي

بارك الله فيك أخ عصام، نتمنى أن نرى المزيد والمفيد
بالمناسبة: جميل أنك قلت أننا نعيش في غابة...










رد مع اقتباس
قديم 2011-11-30, 21:15   رقم المشاركة : 4
معلومات العضو
issam_dz
عضو مشارك
 
الصورة الرمزية issam_dz
 

 

 
إحصائية العضو










افتراضي

اقتباس:
المشاركة الأصلية كتبت بواسطة __الهاوي__ مشاهدة المشاركة
بارك الله فيك أخ عصام، نتمنى أن نرى المزيد والمفيد
بالمناسبة: جميل أنك قلت أننا نعيش في غابة...
و فيك بارك الله أخي.
أما كلمة غابة فهي كبيرة على هذا المكان لأن الغابة أيضا لها قانون و نظام كبير .
بصراحة لم أجد لها اسم و كل الأسماء أكثر بكثير منها !!!!!!!!!!!!!!!!!!!!!!!!!!!!









رد مع اقتباس
قديم 2011-11-30, 23:57   رقم المشاركة : 5
معلومات العضو
issam_dz
عضو مشارك
 
الصورة الرمزية issam_dz
 

 

 
إحصائية العضو










افتراضي

ان شاء الله عن قريب سأضع دورة حول استخدام قواعد البيانات في visual c# 2010 dotnet .
سأضع موضوع واحد به روابط باقي المواضيع التي ستكون مواضيع صغيرة و منفصلة للإستفادة أكثر بالصور و في الأخير كود سورس البرنامج للتحميل........................
اذا بقينا من الأحياء الى ذلك الوقت................









رد مع اقتباس
إضافة رد

الكلمات الدلالية (Tags)
الجنة, استخدام, gdi+


تعليمات المشاركة
لا تستطيع إضافة مواضيع جديدة
لا تستطيع الرد على المواضيع
لا تستطيع إرفاق ملفات
لا تستطيع تعديل مشاركاتك

BB code is متاحة
كود [IMG] متاحة
كود HTML معطلة

الانتقال السريع

الساعة الآن 10:59

المشاركات المنشورة تعبر عن وجهة نظر صاحبها فقط، ولا تُعبّر بأي شكل من الأشكال عن وجهة نظر إدارة المنتدى
المنتدى غير مسؤول عن أي إتفاق تجاري بين الأعضاء... فعلى الجميع تحمّل المسؤولية


2006-2024 © www.djelfa.info جميع الحقوق محفوظة - الجلفة إنفو (خ. ب. س)

Powered by vBulletin .Copyright آ© 2018 vBulletin Solutions, Inc