فئة SvgImage

SvgImage class

تفاعل مع ملفات رسومات المتجهات القابلة للقياس (SVG) باستخدام واجهة برمجة التطبيقات الخاصة بنا، مستفيدًا من قوة تنسيق النص القائم على XML للتخصيص السلس والقابلية للتوسع. قم بتحميل صور SVG بسهولة، وتحويل العناصر المتجهية إلى نقطية، وتحويلها إلى تنسيقات أخرى، مع التحكم في مستويات الضغط لتحسين حجم الملف وجودته لمشاريعك.

public sealed class SvgImage : VectorImage

المنشئات

الاسمالوصف
SvgImage(Stream)ينشئ مثيلًا جديدًا من فئة SvgImage، محملاً الصورة من الدفق المقدم. يتيح هذا المُنشئ تحميل صور SVG مباشرةً من الدفقات، مما يعزز المرونة والكفاءة في معالجة موارد الصور داخل تطبيقات البرمجيات.
SvgImage(string)ينشئ كائنًا جديدًا من فئة SvgImage، باستخدام المسار المحدد لتحديد موقع الصورة وتحميلها. يسهل هذا المُنشئ إنشاء مثيلات صور SVG من ملفات خارجية، مما يتيح دمجًا سلسًا في أنظمة البرمجيات وتدفقات العمل.
SvgImage(int, int)ينشئ كائن SvgImage جديد بالأبعاد المحددة للعرض والارتفاع. يتيح هذا المُنشئ للمطورين إنشاء صور SVG بأبعاد مسبقة التعريف، مما يسهل التحكم الدقيق في حجم الصورة أثناء التهيئة.
SvgImage(SvgOptions, int, int)ينشئ مثيلًا جديدًا من فئة SvgImage مع خيارات SVG المحددة، وعرض الصورة، ومعلمات الارتفاع. يتيح هذا المُنشئ للمطورين تهيئة صور SVG بخيارات وأبعاد مخصصة، مما يوفر مرونة في إدارة محتوى SVG وتخطيطه.

الخصائص

الاسمالوصف
AutoAdjustPalette { get; set; }الحصول على أو تعيين قيمة تشير إلى ما إذا كان يتم تعديل اللوحة تلقائيًا.
virtual BackgroundColor { get; set; }الحصول على أو تعيين قيمة للون الخلفية.
override BitsPerPixel { get; }يسترجع عدد البتات لكل بكسل في الصورة. من المهم ملاحظة أن هذا المعامل غير قابل للتطبيق على الصور المتجهية، لأنها لا تُقاس بالبكسل. توفر هذه الخاصية معلومات حيوية حول عمق ألوان الصورة، مما يساعد في مهام المعالجة والتلاعب.
Bounds { get; }الحصول على حدود الصورة.
BufferSizeHint { get; set; }الحصول على أو تعيين تلميح حجم المخزن المؤقت الذي يحدد الحد الأقصى المسموح به لجميع المخازن الداخلية.
Container { get; }الحصول على حاوية Image.
DataStreamContainer { get; }الحصول على تدفق بيانات الكائن.
Disposed { get; }يحصل على قيمة تشير إلى ما إذا كان هذا المثال تم التخلص منه.
ExifData { get; set; }الحصول على أو تعيين بيانات Exif.
override FileFormat { get; }يسترجع تنسيق ملف الصورة، موفرًا بيانات تعريفية أساسية للمعالجة وفحوصات التوافق. تُعد هذه الخاصية أساسية في تحديد استراتيجيات الترميز وفك الترميز المناسبة للتعامل مع بيانات الصورة بفعالية عبر الأنظمة والتطبيقات المختلفة.
virtual HasBackgroundColor { get; set; }الحصول على أو تعيين قيمة تشير إلى ما إذا كانت الصورة لها لون خلفية.
override Height { get; }الحصول على ارتفاع الصورة.
virtual HeightF { get; }يحصل على ارتفاع الكائن، بالبوصة.
InterruptMonitor { get; set; }الحصول على أو تعيين مراقب المقاطعة.
override IsCached { get; }يسترجع قيمة منطقية تشير إلى ما إذا كانت بيانات الكائن مخزنة مؤقتًا حاليًا، مما يلغي الحاجة إلى عمليات قراءة إضافية للبيانات. توفر هذه الخاصية نظرة على حالة التخزين المؤقت الحالية، مما يُحسّن عمليات استرجاع البيانات وسير عمل المعالجة لأداء وكفاءة أعلى.
virtual Metadata { get; }يحصل على بيانات تعريف الصورة.
Palette { get; set; }يحصل أو يعيّن لوحة الألوان. لا تُستخدم لوحة الألوان عندما يتم تمثيل البكسلات مباشرةً.
Size { get; }يحصل على حجم الصورة.
SizeF { get; }يحصل على حجم الكائن، بالبوصة.
virtual UsePalette { get; }يحصل على قيمة تشير إلى ما إذا كانت لوحة ألوان الصورة مستخدمة.
override Width { get; }يحصل على عرض الصورة.
virtual WidthF { get; }يحصل على عرض الكائن، بالبوصة.
XmpData { get; set; }يحصل أو يعيّن بيانات Xmp.

الطرق

الاسمالوصف
override CacheData()قم بتخزين البيانات مؤقتًا وتأكد من عدم تحميل أي بيانات إضافية من الكائن الأساسي DataStreamContainer. تعزز هذه التحسينات الأداء عن طريق القضاء على عمليات استرجاع البيانات المتكررة، وهو أمر مفيد بشكل خاص في السيناريوهات التي تتطلب وصولًا متكررًا إلى بيانات الصورة.
CanSave(ImageOptionsBase)يحدد ما إذا كان يمكن حفظ الصورة بالتنسيق المحدد الممثل بخيارات الحفظ الممررة.
override Crop(Rectangle)يقص المستطيل المحدد.
virtual Crop(int, int, int, int)قص الصورة مع إزاحات.
Dispose()يتخلص من المثيل الحالي.
override GetDefaultOptions(object[])يحصل على خيارات الصورة الافتراضية.
virtual GetEmbeddedImages()يحصل على الصور المضمنة.
virtual GetOriginalOptions()يحصل على الخيارات بناءً على إعدادات الملف الأصلي. يمكن أن يكون هذا مفيدًا للحفاظ على عمق البت وغيرها من معلمات الصورة الأصلية دون تغيير. على سبيل المثال، إذا قمنا بتحميل صورة PNG بالأبيض والأسود بعمق 1 بت لكل بكسل ثم حفظناها باستخدام طريقة Save، سيتم إنتاج صورة PNG ناتجة بعمق 8 بت لكل بكسل. لتجنب ذلك وحفظ صورة PNG بعمق 1 بت لكل بكسل، استخدم هذه الطريقة للحصول على خيارات الحفظ المقابلة ومررها إلى طريقة Save كمعامل ثاني.
virtual GetSerializedStream(ImageOptionsBase, Rectangle, out int)يحول إلى aps.
virtual RemoveBackground()يزيل الخلفية.
virtual RemoveBackground(RemoveBackgroundSettings)يزيل الخلفية.
virtual RemoveMetadata()يزيل البيانات الوصفية.
Resize(int, int)يُعيد تحجيم الصورة. يتم استخدام NearestNeighbourResample الافتراضي.
override Resize(int, int, ImageResizeSettings)يعيد تحجيم الصورة باستخدام خيارات موسعة.
override Resize(int, int, ResizeType)قم بتغيير حجم الصورة لتتناسب مع الأبعاد المحددة مع الحفاظ على نسبة العرض إلى الارتفاع. توفر هذه الطريقة وسيلة مريحة لضبط حجم الصورة دون تشويه نسبها، مما يضمن عرضًا أو تخزينًا مثاليًا وفقًا للأبعاد المطلوبة.
ResizeHeightProportionally(int)يُعيد تحجيم الارتفاع بنسبية. يتم استخدام NearestNeighbourResample الافتراضي.
virtual ResizeHeightProportionally(int, ImageResizeSettings)يُعيد تحجيم الارتفاع بنسبية.
virtual ResizeHeightProportionally(int, ResizeType)يُعيد تحجيم الارتفاع بنسبية.
ResizeWidthProportionally(int)يقوم بتغيير عرض الصورة بشكل متناسب. يتم استخدام NearestNeighbourResample الافتراضي.
virtual ResizeWidthProportionally(int, ImageResizeSettings)يقوم بتغيير عرض الصورة بشكل متناسب.
virtual ResizeWidthProportionally(int, ResizeType)يقوم بتغيير عرض الصورة بشكل متناسب.
override Rotate(float)دوّر الصورة حول المركز.
override RotateFlip(RotateFlipType)يدور أو يقلب أو يدور ويقلب الصورة.
Save()يحفظ بيانات الصورة إلى الدفق الأساسي.
Save(Stream)يحفظ بيانات الكائن إلى الدفق المحدد.
override Save(string)يحفظ الصورة إلى موقع الملف المحدد.
Save(Stream, ImageOptionsBase)يحفظ بيانات الصورة إلى الدفق المحدد بالتنسيق الملف المحدد وفقًا لخيارات الحفظ.
virtual Save(string, bool)يحفظ بيانات الكائن إلى موقع الملف المحدد.
virtual Save(string, ImageOptionsBase)يحفظ بيانات الكائن إلى موقع الملف المحدد بالتنسيق الملف المحدد وفقًا لخيارات الحفظ.
virtual Save(Stream, ImageOptionsBase, Rectangle)يحفظ بيانات الصورة إلى الدفق المحدد بالتنسيق الملف المحدد وفقًا لخيارات الحفظ.
virtual Save(string, ImageOptionsBase, Rectangle)يحفظ بيانات الكائن إلى موقع الملف المحدد بالتنسيق الملف المحدد وفقًا لخيارات الحفظ.
override SetPalette(IColorPalette, bool)يطبق لوحة ألوان محددة على الصورة، مما يتيح تخصيص مخططات الألوان لأغراض جمالية أو وظيفية. توفر هذه الطريقة مرونة في إدارة لوحات الألوان لتلبية متطلبات التصميم أو التطبيق المختلفة.
virtual TrySetMetadata(IImageMetadataFormat)يحاول تعيين كائن metadata، إذا كان هذا Image يدعم ويطبق نوع IImageMetadataFormat.

أمثلة

المثال التالي يوضح كيفية تحويل صور svgz إلى صيغة svg.

[C#]

string file = "example.svgz";
string baseFolder = System.IO.Path.Combine("D:", "Compressed");
string inputFile = System.IO.Path.Combine(baseFolder, file);
string outFile = inputFile + ".svg";
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(inputFile))
{
    Aspose.Imaging.ImageOptions.VectorRasterizationOptions vectorRasterizationOptions = new Aspose.Imaging.ImageOptions.SvgRasterizationOptions() { PageSize = image.Size};
    image.Save(outFile, new Aspose.Imaging.ImageOptions.SvgOptions() {VectorRasterizationOptions = vectorRasterizationOptions});
}

المثال التالي يوضح كيفية تحويل صور svg إلى صيغة svgz.

[C#]

string file = "juanmontoya_lingerie.svg";
string baseFolder = System.IO.Path.Combine("D:", "Compressed");
string inputFile = System.IO.Path.Combine(baseFolder, file);
string outFile = inputFile + ".svgz";
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(inputFile))
{
    Aspose.Imaging.ImageOptions.VectorRasterizationOptions vectorRasterizationOptions = new Aspose.Imaging.ImageOptions.SvgRasterizationOptions() { PageSize = image.Size};
    image.Save(outFile, new Aspose.Imaging.ImageOptions.SvgOptions() {VectorRasterizationOptions = vectorRasterizationOptions, Compress = true});
}

يوضح هذا المثال كيفية تحميل صورة SVG من تدفق ملف وتحويلها إلى PNG.

[C#]

string dir = "c:\\temp\\";

// حمّل صورة SVG من تدفق ملف.
using (System.IO.Stream stream = System.IO.File.OpenRead(dir + "test.svg"))
using (Aspose.Imaging.FileFormats.Svg.SvgImage svgImage = new Aspose.Imaging.FileFormats.Svg.SvgImage(stream))
{
    // من أجل تحويل SVG إلى نقطية نحتاج إلى تحديد خيارات التحويل النقطي.
    Aspose.Imaging.ImageOptions.SvgRasterizationOptions rasterizationOptions = new Aspose.Imaging.ImageOptions.SvgRasterizationOptions();
    Aspose.Imaging.ImageOptions.PngOptions saveOptions = new Aspose.Imaging.ImageOptions.PngOptions();
    saveOptions.VectorRasterizationOptions = rasterizationOptions;

    svgImage.Save(dir + "test.output.png", saveOptions);
}

المثال التالي يوضح كيفية تحويل الصور المضغوطة (.emz,.wmz, *.svgz) إلى صيغة نقطية.

[C#]

string[] files = new[] {"example.emz", "example.wmz", "example.svgz"};
string baseFolder = System.IO.Path.Combine("D:","Compressed");
foreach (var file in files)
{
    string inputFile = System.IO.Path.Combine(baseFolder, file);
    string outFile = inputFile + ".png";
    using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(inputFile))
    {
        Aspose.Imaging.ImageOptions.VectorRasterizationOptions vectorRasterizationOptions = (Aspose.Imaging.ImageOptions.VectorRasterizationOptions)image.GetDefaultOptions(new object[] { Color.White, image.Width, image.Height });
        image.Save(outFile, new Aspose.Imaging.ImageOptions.PngOptions(){VectorRasterizationOptions = vectorRasterizationOptions});
    }
}

انظر أيضًا