C# رسم صورة: نصائح فعالة لاستخدام الأساليب المستقلة
في تطبيق نماذج C# ، يمكنك رسم رسومات مخصصة على التحكم في Picturebox. ومع ذلك ، قد يواجه المستخدمون مشاكل عند محاولة القيام بذلك من خلال طريقة منفصلة.
سؤال:
قد يرغب المستخدم في إنشاء طريقة لرسم دوائر مريحة على مربع الصور ، ولكن يجد أن الطريقة لا تنتج النتائج المتوقعة. تقوم طريقة المشكلة بتهيئة صورة نقطية ، وكائنات رسومية ، والفرش المستخدمة لرسم الدوائر. ومع ذلك ، عند استدعاء معالج أحداث الطلاء في PictureBox ، لا يمكن رسم الدائرة بشكل صحيح.
حل:
لاستخدام طريقة منفصلة للرسم على مربع الصورة ، تأكد من معرفة ما إذا كان الهدف هو رسم الصورة التي يتم عرضها بواسطة PictureBox أو مباشرة على عنصر التحكم نفسه.
الطريقة 1: ارسم مباشرة على عنصر التحكم
]للرسم مباشرة على عنصر التحكم (دون التأثير على الصورة) ، استخدم معالج أحداث الطلاء الخاص بـ PictureBox ، كما هو موضح أدناه:
private void pictureBox2_Paint(object sender, PaintEventArgs e)
{
e.Graphics.DrawEllipse(Pens.Red, new Rectangle(3, 4, 44, 44));
}
في هذه الحالة ، يكون الرسم ثابتًا ، وترتبط الرسومات بعنصر التحكم ، واتباع أي تغيير حجم أو نقل عنصر التحكم.
الطريقة 2: ارسم الصورة
]لرسم صورة معروضة بواسطة PictureBox ، قم بإنشاء طريقة منفصلة ورسم باستخدام كائن الرسومات الذي تم الحصول عليه من خاصية Image الخاصة بـ PictureBox.
void drawIntoImage()
{
using (Graphics G = Graphics.FromImage(pictureBox1.Image))
{
G.DrawEllipse(Pens.Orange, new Rectangle(13, 14, 44, 44));
}
pictureBox1.Refresh();
}
بعد الانتهاء من الرسم ، اتصل بالطريقة على refresh () من picturebox لتحديث الشاشة. في هذه الحالة ، تكون الرسومات ثابتة للصورة وتتأثر بأي تحجيم أو تحويل للصورة.
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3