الرسومات والرسم
الرسومات والرسم
يتضمن Aspose.PDF FOSS for .NET نظام رسم لإضافة الرسومات المتجهة إلى صفحات PDF. يحتوي الحاوية Graph على عناصر الشكل (Line، Arc، Circle) ويتم إضافتها إلى مجموعة Paragraphs للصفحة.
إنشاء حاوية رسم بياني
Graph يحدد مساحة قابلة للرسم بعرض وارتفاع محددين.
using var doc = new Document();
var page = doc.Pages.Add();
var graph = new Graph(400, 200);
page.Paragraphs.Add(graph);رسم الخطوط
var line = new Line(new float[] { 0, 0, 300, 100 });
graph.Shapes.Add(line);رسم الأقواس والدوائر
var arc = new Arc(150, 100, 80, 0, 180);
graph.Shapes.Add(arc);
var circle = new Circle(150, 100, 50);
graph.Shapes.Add(circle);العمل مع الألوان
توفر الفئة Color طرق مصنع للألوان بصيغة RGB و ARGB والألوان المسماة.
var red = Color.FromRgb(1.0, 0.0, 0.0);
var semiTransparent = Color.FromArgb(128, 0, 0, 255);رسم المسارات
DrawingPath يدعم MoveTo، LineTo، CurveTo، وClose لأشكال المتجهات الحرة.
var path = new DrawingPath();
path.MoveTo(10, 10);
path.LineTo(100, 10);
path.CurveTo(150, 50, 150, 100, 100, 100);
path.Close();تنسيقات الصورة
ImageFormat يوفر قيم تعداد لتنسيقات الراستر المستخدمة عند تحويل الصفحات إلى صور: Bmp، Jpeg، Png، Tiff، Gif.
نصائح وأفضل الممارسات
- اضبط أبعاد الرسم لتتناسب مع المنطقة التي تريد الرسم فيها — الإحداثيات داخل
Graphنسبية إلى حدودها. - استخدم
Color.FromArgbللتعبئات شبه الشفافة (دعم قناة ألفا). - اجمع أشكالًا متعددة في
Graphواحد لتحسين عملية العرض. DrawingPathمثالي للمنحنيات المعقدة من نوع بيزيه والأشكال المتعددة الأضلاع العشوائية.- أضف
Graphإلى مجموعةParagraphsالخاصة بالصفحة — لا تضفه إلى التعليقات التوضيحية.
المشكلات الشائعة
| المشكلة | السبب | الإصلاح |
|---|---|---|
| الشكل غير مرئي | أبعاد الرسم صغيرة جدًا بالنسبة لإحداثيات الشكل | زيادة عرض/ارتفاع Graph أو تعديل مقياس إحداثيات الشكل |
| الألوان تظهر مختلفة في العارض | عدم تطابق مساحة اللون | استخدام Color.FromRgb بالقيم في النطاق 0.0-1.0 |
| الرسم يتداخل مع النص | الرسم موضعه غير صحيح في تدفق الفقرة | ضبط ترتيب الفقرات أو استخدام FloatingBox للتموضع المطلق |
الأسئلة المتكررة
هل يمكنني رسم أشكال مملوءة؟
نعم. قم بتعيين خاصية GraphInfo.FillColor للشكل لتملأ بلون صلب.
كيف يمكنني وضع رسم بياني عند إحداثيات صفحة محددة؟
قم بلف Graph داخل FloatingBox واضبط خصائص Left وTop الخاصة به لتحديد الموضع المطلق.
هل تدعم المكتبة التدرجات؟
تدعم الفئات Shading أنماط التظليل الأساسية. استخدم DrawingPath مع التظليل لتعبئات التدرج.
API ملخص المرجع
| Class / Method | Description |
|---|---|
Graph | حاوية للأشكال القابلة للرسم، تُضاف إلى فقرات الصفحة |
Line | خط مستقيم بين نقطتين أو أكثر |
Arc | قوس دائري يُعرّف بالمركز، نصف القطر، والزوايا |
Circle | شكل دائرة يُعرّف بالمركز ونصف القطر |
DrawingPath | مسار حر مع MoveTo، LineTo، CurveTo، Close |
Color | قيمة لون مع RGB، ARGB، وطرق المصنع |
Color.FromRgb | إنشاء لون من مكونات RGB |
Color.FromArgb | إنشاء لون مع شفافية ألفا |
GraphicElementCollection | مجموعة من العناصر الرسومية على صفحة |
ImageFormat | تعداد صيغ الصور النقطية (Bmp، Jpeg، Png، Tiff، Gif) |