مصفوفة-عالمية-محلية-عالم-التحول

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

مصفوفة ، التحول العالمي والمحلي والعالمي - تثبيت C# API

Aspose.Drawing for .NET API يدعم معالجة الكائنات الرسومية المختلفة. يمكنك بسهولة إنشاء أو تحرير أو تحويل أو عرض الرسومات في تطبيقاتك المستندة إلى .NET. ما عليك سوى تنزيل ملف DLL من قسم الإصدارات الجديدة. من ناحية أخرى ، يمكنك تهيئته من NuGet باستخدام أمر التثبيت التالي:

PM> Install-Package Aspose.Drawing

تطبيق تحويل المصفوفة برمجيًا باستخدام C#

تحتوي فئة المصفوفة على مصفوفة أفينية 3 × 3 تمثل التحويل. يمكنك استخدامه لتدوير شكل أو ترجمته أو قياسه وفقًا لمتطلباتك. توضح الخطوات التالية كيفية تطبيق تحويل المصفوفة:

  1. إنشاء كائن فئة Bitmap
  2. قم بإنشاء شكل
  3. تطبيق تحويل المصفوفة

يوضح الكود أدناه كيفية تطبيق تحويل المصفوفة برمجيًا باستخدام لغة C#:

// تهيئة كائن فئة الصورة النقطية
Bitmap bitmap = new Bitmap(1000, 800, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);

// إعلان كائن فئة الرسومات
Graphics graphics = Graphics.FromImage(bitmap);
graphics.Clear(Color.FromKnownColor(KnownColor.Gray));

// بدء كائن فئة المستطيل
Rectangle originalRentangle = new Rectangle(300, 300, 300, 200);
TransformPath(graphics, originalRentangle, (matrix) => matrix.Rotate(15.0f));
TransformPath(graphics, originalRentangle, (matrix) => matrix.Translate(-250, -250));
TransformPath(graphics, originalRentangle, (matrix) => matrix.Scale(0.3f, 0.3f));

// حفظ الصورة الناتجة مع تحويل المصفوفة
bitmap.Save(dataDir + @"CoordinateSystemsTransformations\MatrixTransformations_out.png");

private static void TransformPath(Graphics graphics, Rectangle originalRentangle, Action<Matrix> transform)
{
    GraphicsPath path = new GraphicsPath();
    path.AddRectangle(originalRentangle);

    Matrix matrix = new Matrix();
    transform(matrix);
    path.Transform(matrix);

    Pen pen = new Pen(Color.FromKnownColor(KnownColor.Blue), 2);
    graphics.DrawPath(pen, path);
}

تطبيق تحويل التنسيق العالمي برمجيًا باستخدام C#

يستخدم التحويل العام لتحويل جميع الكائنات الرسومية في الرسم. يمكنك اتباع الخطوات أدناه لتطبيق التحويل الإحداثي العام:

  1. تهيئة مثيل لفئة Bitmap
  2. قم بتعريف كائن فئة رسومات
  3. تعيين التناوب
  4. ارسم شكلاً باستخدام التحول العالمي

يوضح الكود التالي تحويل الإحداثيات العالمي برمجيًا باستخدام C#:

// تهيئة كائن فئة الصورة النقطية
Bitmap bitmap = new Bitmap(1000, 800, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);
Graphics graphics = Graphics.FromImage(bitmap);
graphics.Clear(Color.FromKnownColor(KnownColor.Gray));

// قم بتعيين تحويل ينطبق على كل عنصر مرسوم:
graphics.RotateTransform(15);

Pen pen = new Pen(Color.FromKnownColor(KnownColor.Blue), 2);
graphics.DrawEllipse(pen, 300, 300, 400, 200);

// حفظ الصورة الناتجة مع التحول Glabal
bitmap.Save(dataDir + @"CoordinateSystemsTransformations\GlobalTransformation_out.png");

تعيين التحول المحلي برمجيًا في C#

يرتبط التحويل المحلي بأشكال أو رسومات معينة في الرسم. يمكن تفسيره بتحويل مسار رسومي حيث يتم تحويل عناصر ذلك المسار فقط. يمكنك ضبط التحول المحلي من خلال الخطوات التالية:

  1. تهيئة كائن من فئة الصور النقطية
  2. قم بتعريف الرسومات وكائن فئة GraphicsPath
  3. قم بإنشاء شكل وحدد المصفوفة
  4. طريقة تحويل المكالمة

يوضح مقتطف الشفرة أدناه كيفية تعيين التحويل المحلي برمجيًا باستخدام C#:

// تهيئة كائن فئة الصورة النقطية
Bitmap bitmap = new Bitmap(1000, 800, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);
Graphics graphics = Graphics.FromImage(bitmap);
graphics.Clear(Color.FromKnownColor(KnownColor.Gray));

GraphicsPath path = new GraphicsPath();
path.AddEllipse(300, 300, 400, 200);

// قم بتعيين تحويل ينطبق على المسار المحدد المراد رسمه:
Matrix matrix = new Matrix();
matrix.RotateAt(45, new Point(500, 400));
path.Transform(matrix);

Pen pen = new Pen(Color.FromKnownColor(KnownColor.Blue), 2);
graphics.DrawPath(pen, path);

// حفظ الصورة الناتجة مع التحويل المحلي
bitmap.Save(dataDir + @"CoordinateSystemsTransformations\LocalTransformation_out.png");

تطبيق التحول العالمي برمجيًا باستخدام C#

يُعرف تحويل إحداثيات العالم إلى إحداثيات الصفحة باسم تحويل العالم. تُستخدم إحداثيات الصفحة هذه بعد ذلك لتقديم الرسومات على أجهزة مختلفة. لذلك يمكنك تطبيق تحول العالم باستخدام C# بالخطوات التالية:

  1. تهيئة كائن من فئة الصور النقطية
  2. استدعاء طريقة TranslateTransform
  3. ارسم شكلاً

يوضح الكود التالي كيفية تطبيق تحول العالم برمجيًا باستخدام لغة C#:

// تهيئة كائن فئة الصورة النقطية
Bitmap bitmap = new Bitmap(1000, 800, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);
Graphics graphics = Graphics.FromImage(bitmap);
graphics.Clear(Color.FromKnownColor(KnownColor.Gray));

// قم بتعيين التحويل الذي يقوم بتعيين إحداثيات العالم إلى إحداثيات الصفحة:
graphics.TranslateTransform(500, 400);

Pen pen = new Pen(Color.FromKnownColor(KnownColor.Blue), 2);
graphics.DrawRectangle(pen, 0, 0, 300, 200);

// حفظ الصورة الناتجة مع World Transformation
bitmap.Save(dataDir + @"CoordinateSystemsTransformations\WorldTransformation_out.png");

استنتاج

باختصار ، لقد تعرفت على التحولات المختلفة المتعلقة برسومات الكمبيوتر وأشكاله. يجب أن تكون قادرًا على فهم تفاصيل التحول العالمي والمحلي والعالمي باستخدام لغة C#. علاوة على ذلك ، يمكنك قراءة وثائق API لمزيد من التفاصيل أو الاتصال بنا عبر منتديات الدعم المجاني. كنا نحب أن تساعدك!

أنظر أيضا