اقرأ باللغة الإنجليزية

مشاركة عبر


كيفية القيام بما يلي: استدارة، يعكس صور الانحراف و

يمكنك تدوير، يعكس وانحرافه نسخة بواسطة تحديد نقاط وجهة للعليا اليسرى العليا،-يمين، والزوايا اليمنى السفلي من النسخة الأصلية. تحديد نقاط وجهة الثلاثة تحويل affine تخطيط نسخة مستطيلة الشكل الأصلي إلى parallelogram.

مثال

على سبيل المثال، افترض أن الصورة الأصلية هو مستطيل بالزاوية اليسرى العليا في (0، 0)، الزاوية اليسرى العليا في (100, 0), والزاوية السفلية اليسرى في (0، 50). والآن افترض تعيين تلك ثلاث نقاط إلى نقاط وجهة كما يلي.

الأصلي الإشارة

يؤشر وجهة

العليا-يسار (0، 0)

(200, 20)

العلوية اليسرى (100, 0)

(110, 100)

أدنى-يسار (0، 50)

(250, 30)

يبين المثال التالي الصورة الأصلية و نسخة إلى parallelogram. الأصلي نسخة تم منحرف، انعكاس، استدارة، وترجمة. س-ax هو بطول الحافة العلوية من الصورة الأصلية هو إلى الخط التي يتم تنفيذها من خلال (200، 20) و (110، 100). ص-ax هو بطول الحافة اليسرى للصورة الأصلية هو إلى الخط التي يتم تنفيذها من خلال (200، 20) و (250، 30).

تخطيطات

يبين التوضيح التالي تحويل مشابهة تطبيق إلى نسخة phoإلىgraphic.

متسلق محول

يبين التوضيح التالي تحويل مشابهة تطبيق إلى ملف تعريف.

ملف تعريف محول

يلي مثال إنتاج صور هو موضح في الشكل أول.

        ' New Point(200, 20)  = destination for upper-left point of original
        ' New Point(110, 100) = destination for upper-right point of original
        ' New Point(250, 30)  = destination for lower-left point of original
        Dim destinationPoints As Point() = { _
            New Point(200, 20), _
            New Point(110, 100), _
            New Point(250, 30)}

        Dim image As New Bitmap("Stripes.bmp")

        ' Draw the image unaltered with its upper-left corner at (0, 0).
        e.Graphics.DrawImage(image, 0, 0)

        ' Draw the image mapped to the parallelogram.
        e.Graphics.DrawImage(image, destinationPoints)

    Point[] destinationPoints = {
new Point(200, 20),   // destination for upper-left point of 
                      // original
new Point(110, 100),  // destination for upper-right point of 
                      // original
new Point(250, 30)};  // destination for lower-left point of 
    // original

    Image image = new Bitmap("Stripes.bmp");

    // Draw the image unaltered with its upper-left corner at (0, 0).
    e.Graphics.DrawImage(image, 0, 0);

    // Draw the image mapped to the parallelogram.
    e.Graphics.DrawImage(image, destinationPoints);

التحويل البرمجي للتعليمات البرمجية

The preceding example is designed for use with Windows Forms, and it requires PaintEventArgs e, which is a parameter of the Paint event handler. تأكد من أن يحل محل Stripes.bmpمع مسار إلى صورة التي هو صالح تشغيل النظام الخاص بك.

راجع أيضًا:

موارد أخرى

العمل مع الصور، والصور النقطية، والرموز، وملفات التعريف و