كيفية القيام بما يلي: تحسين الأداء بتجنب تغيير حجم تلقائي
GDI+قد ملاءمة تلقائياً نسخة أثناء الرسم عليها، والذي قد إنقاص الأداء. بدلاً من ذلك، يمكنك التحكم في تحجيم الصورة بتمرير الأبعاد المستطيل وجهة إلى DrawImageالأسلوب.
على سبيل المثال، الاستدعاء التالي إلى DrawImageأسلوب تعيين زاوية اليسرى العليا من (50، 30) ولكنه لا يحدد المستطيل وجهة.
e.Graphics.DrawImage(image, 50, 30) ' upper-left corner at (50, 30)
e.Graphics.DrawImage(image, 50, 30); // upper-left corner at (50, 30)
وعلى الرغم من أن هذا هو الإصدار أسهل من DrawImageأسلوب في شروط لعدد الوسيطات المطلوبة، ليس بالضرورة أكفأ. في حالة استخدام الدقة من قبل GDI+(usually 96 نقطة لكل بوصة) هو مختلفة عن دقة المخزنة في Imageالكائن، ثم DrawImageأسلوب تحجيم الصورة. على سبيل المثال، افترض أن Imageيحتوي الكائن عرض من وحدات البكسل 216 وقيمة دقة أفقية مخزنة من 72 نقطة لكل بوصة. ونظرا لأن 216/72 3, DrawImageتغيير حجم الصورة وحيث يكون لديها عرض من 3 بوصة بدقة 96 نقطة لكل بوصة. هو DrawImageسوف عرض نسخة له بعرض 96 × 3 = 288 بكسل.
حتى إذا كانت دقة شاشة هو مختلفة من 96 نقطة في البوصة، GDI+من المحتمل أن تقوم بتحجيم الصورة كما لو كانت دقة شاشة 96 نقطة لكل بوصة. That is because a GDI+ Graphics object is associated with a device context, and when GDI+ queries the device context for the screen resolution, the result is usually 96, regardless of the actual screen resolution. يمكنك تجنب تغيير الحجم تلقائي بواسطة تحديد المستطيل وجهة في DrawImageأسلوب.
مثال
يلي مثال يرسم نفس نسخة مرتين. في أول الحالة، عرض وارتفاع المستطيل وجهة غير محددة، ويتم تحجيم الصورة بشكل تلقائي. في الحالة ثانية، العرض والارتفاع (يقاس بال بكسل) المستطيل وجهة المحددة إلى تكون هي نفسها كالعرض والارتفاع للصورة الأصلية. يبين الرسم التوضيحي التالي نسخة تقديم مرتين.
Dim image As New Bitmap("Texture.jpg")
e.Graphics.DrawImage(image, 10, 10)
e.Graphics.DrawImage(image, 120, 10, image.Width, image.Height)
Image image = new Bitmap("Texture.jpg");
e.Graphics.DrawImage(image, 10, 10);
e.Graphics.DrawImage(image, 120, 10, image.Width, image.Height);
التحويل البرمجي للتعليمات البرمجية
The preceding example is designed for use with Windows Forms, and it requires PaintEventArgs e, which is a parameter of the Paint event handler. استبدال Texture.jpg اسم نسخة و مسار غير صالح تشغيل النظام الخاص بك.