SvgImage

Inheritance: java.lang.Object, com.aspose.imaging.DisposableObject, com.aspose.imaging.DataStreamSupporter, com.aspose.imaging.Image, com.aspose.imaging.VectorImage

All Implemented Interfaces: com.aspose.imaging.xmp.IHasXmpData

public final class SvgImage extends VectorImage implements IHasXmpData

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

المنشئات

المنشئالوصف
SvgImage(String path)ينشئ كائنًا جديدًا من الفئة SvgImage، باستخدام المسار المحدد لتحديد موقع الصورة وتحميلها.
SvgImage(InputStream stream)ينشئ نسخة جديدة من الفئة SvgImage، محملاً الصورة من الدفق المقدم.
SvgImage(int width, int height)ينشئ كائنًا جديدًا من SvgImage بالأبعاد المحددة للعرض والارتفاع.
SvgImage(SvgOptions svgOptions, int width, int height)ينشئ نسخة جديدة من الفئة SvgImage مع خيارات SVG المحددة، وعرض الصورة، ومعلمات الارتفاع.

الطرق

طريقةالوصف
isCached()يسترجع قيمة منطقية تشير إلى ما إذا كانت بيانات الكائن مخزنة مؤقتًا حاليًا، مما يلغي الحاجة إلى عمليات قراءة بيانات إضافية.
getBitsPerPixel()يسترجع عدد البتات لكل بكسل في الصورة.
getFileFormat()يسترجع تنسيق ملف الصورة، موفرًا بيانات تعريفية أساسية للمعالجة وفحوصات التوافق.
cacheData()قم بتخزين البيانات مؤقتًا وتأكد من عدم تحميل بيانات إضافية من DataStreamSupporter.DataStreamContainer(DataStreamSupporter.getDataStreamContainer).
resize(int newWidth, int newHeight, int resizeType)غيّر حجم الصورة لتتناسب مع الأبعاد المحددة مع الحفاظ على نسبة العرض إلى الارتفاع.
crop(Rectangle rectangle)يقص المستطيل المحدد.
rotate(float angle)دوّر الصورة حول المركز.
setPalette(IColorPalette palette, boolean updateColors)يطبق لوحة ألوان محددة على الصورة، مما يتيح تخصيص مخططات الألوان لأغراض جمالية أو وظيفية.

Example: This example shows how to load an SVG image from a file stream and rasterize it to PNG.

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

// حمّل صورة SVG من دفق ملف.
java.io.InputStream stream = new java.io.FileInputStream(dir + "test.svg");
com.aspose.imaging.fileformats.svg.SvgImage svgImage = new com.aspose.imaging.fileformats.svg.SvgImage(stream);
try {
    // من أجل تحويل SVG إلى نقطية، نحتاج إلى تحديد خيارات التحويل النقطي.
    com.aspose.imaging.imageoptions.SvgRasterizationOptions rasterizationOptions = new com.aspose.imaging.imageoptions.SvgRasterizationOptions();
    com.aspose.imaging.imageoptions.PngOptions saveOptions = new com.aspose.imaging.imageoptions.PngOptions();
    saveOptions.setVectorRasterizationOptions(rasterizationOptions);

    svgImage.save(dir + "test.output.png", saveOptions);
} finally {
    svgImage.dispose();
    stream.close();
}

Example: The following example shows how to convert a compressed images (*.

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

String[] files = new String[]{ "example.emz", "example.wmz", "example.svgz" };
String baseFolder = "D:\\Compressed\\";
for(String file : files)
{
    String inputFile = (baseFolder + file);
    String outFile = inputFile + ".png";
    try (com.aspose.imaging.Image image = com.aspose.imaging.Image.load(inputFile))
    {
        final com.aspose.imaging.imageoptions.VectorRasterizationOptions vectorRasterizationOptions = 
                (com.aspose.imaging.imageoptions.VectorRasterizationOptions) image.getDefaultOptions(new Object[]{Color.getWhite(), image.getWidth(), image.getHeight()});
        image.save(outFile, new com.aspose.imaging.imageoptions.PngOptions()
        {{
            setVectorRasterizationOptions(vectorRasterizationOptions);
        }});
    }
}

Example: The following example shows how to convert a svgz images to svg format

String file = "example.svgz";
String baseFolder = "D:\\Compressed\\";
String inputFile = baseFolder + file;
String outFile = inputFile + ".svg";
try (com.aspose.imaging.Image image = com.aspose.imaging.Image.load(inputFile))
{
    com.aspose.imaging.imageoptions.VectorRasterizationOptions vectorRasterizationOptions = new com.aspose.imaging.imageoptions.SvgRasterizationOptions();
    vectorRasterizationOptions.setPageSize(com.aspose.imaging.Size.to_SizeF(image.getSize()));
    com.aspose.imaging.imageoptions.SvgOptions options = new com.aspose.imaging.imageoptions.SvgOptions();
    options.setVectorRasterizationOptions(vectorRasterizationOptions);
    image.save(outFile, options);
}

Example: The following example shows how to convert a svg images to svgz format

String file = "juanmontoya_lingerie.svg";
String baseFolder = "D:\\Compressed\\";
String inputFile = baseFolder + file;
String outFile = inputFile + ".svgz";
try (com.aspose.imaging.Image image = com.aspose.imaging.Image.load(inputFile))
{
    com.aspose.imaging.imageoptions.VectorRasterizationOptions vectorRasterizationOptions = new com.aspose.imaging.imageoptions.SvgRasterizationOptions();
    vectorRasterizationOptions.setPageSize(com.aspose.imaging.Size.to_SizeF(image.getSize()));
    com.aspose.imaging.imageoptions.SvgOptions options = new com.aspose.imaging.imageoptions.SvgOptions();
    options.setVectorRasterizationOptions(vectorRasterizationOptions);
    options.setCompress(true);
    image.save(outFile, options);
}

SvgImage(String path)

public SvgImage(String path)

ينشئ كائنًا جديدًا من الفئة SvgImage، باستخدام المسار المحدد لتحديد موقع الصورة وتحميلها. يُسهل هذا المُنشئ إنشاء نسخ من صور SVG من ملفات خارجية، مما يتيح دمجًا سلسًا في أنظمة البرمجيات وتدفقات العمل.

Parameters:

معاملنوعالوصف
المسارjava.lang.Stringالمسار لتحميل الصورة منه وتهيئة بيانات البكسل واللوحة اللونية.

SvgImage(InputStream stream)

public SvgImage(InputStream stream)

ينشئ نسخة جديدة من الفئة SvgImage، محملاً الصورة من الدفق المقدم. يتيح هذا المُنشئ تحميل صور SVG مباشرةً من الدفقات، مما يعزز المرونة والكفاءة في معالجة موارد الصور داخل تطبيقات البرمجيات.

Parameters:

معاملنوعالوصف
التدفقjava.io.InputStreamالتدفق لتحميل الصورة منه وتهيئة بيانات البكسل واللوحة اللونية.

SvgImage(int width, int height)

public SvgImage(int width, int height)

ينشئ كائنًا جديدًا من SvgImage بالأبعاد المحددة للعرض والارتفاع. يتيح هذا المُنشئ للمطورين إنشاء صور SVG بأبعاد محددة مسبقًا، مما يسهل التحكم الدقيق في حجم الصورة أثناء التهيئة.

Parameters:

معاملنوعالوصف
العرضintعرض الصورة.
الارتفاعintارتفاع الصورة.

SvgImage(SvgOptions svgOptions, int width, int height)

public SvgImage(SvgOptions svgOptions, int width, int height)

ينشئ نسخة جديدة من الفئة SvgImage مع خيارات SVG المحددة، وعرض الصورة، ومعلمات الارتفاع. يتيح هذا المُنشئ للمطورين تهيئة صور SVG بخيارات وأبعاد مخصصة، موفرًا مرونة في إدارة محتوى SVG وتخطيطه.

Parameters:

معاملنوعالوصف
svgOptionsSvgOptionsخيارات SVG.
العرضintعرض الصورة.
الارتفاعintارتفاع الصورة.

isCached()

public boolean isCached()

تسترجع قيمة منطقية تشير إلى ما إذا كانت بيانات الكائن مخزنة مؤقتًا حاليًا، مما يلغي الحاجة إلى عمليات قراءة بيانات إضافية. توفر هذه الخاصية نظرة على حالة التخزين المؤقت الحالية، مما يحسن استرجاع البيانات وتدفقات المعالجة لأداء وكفاءة محسّنة.

Returns: منطقي - true إذا كانت بيانات الكائن مخزنة مؤقتًا؛ وإلا false.

getBitsPerPixel()

public int getBitsPerPixel()

تسترجع عدد البتات لكل بكسل في الصورة. من المهم ملاحظة أن هذا المعامل غير قابل للتطبيق على الصور المتجهية، لأنها لا تُقاس بالبكسل. توفر هذه الخاصية معلومات حيوية حول عمق ألوان الصورة، مما يساعد في مهام المعالجة والتلاعب.

Returns: int - عدد بتات الصورة لكل بكسل.

getFileFormat()

public long getFileFormat()

تسترجع تنسيق ملف الصورة، موفرةً بيانات تعريفية أساسية للمعالجة وفحوصات التوافق. تُعد هذه الخاصية أداة أساسية لتحديد استراتيجيات الترميز وفك الترميز المناسبة للتعامل مع بيانات الصورة بفعالية عبر الأنظمة والتطبيقات المختلفة.

Returns: long - تنسيق الملف

cacheData()

public void cacheData()

قم بتخزين البيانات مؤقتًا وتأكد من عدم تحميل بيانات إضافية من DataStreamSupporter.DataStreamContainer(DataStreamSupporter.getDataStreamContainer). تعزز هذه التحسينات الأداء من خلال القضاء على عمليات استرجاع البيانات المتكررة، وهو مفيد بشكل خاص في السيناريوهات التي تتطلب وصولًا متكررًا إلى بيانات الصورة.

resize(int newWidth, int newHeight, int resizeType)

public void resize(int newWidth, int newHeight, int resizeType)

قم بتغيير حجم الصورة لتناسب الأبعاد المحددة مع الحفاظ على نسبة العرض إلى الارتفاع. توفر هذه الطريقة طريقة مريحة لضبط حجم الصورة دون تشويه نسبها، مما يضمن عرضًا أو تخزينًا مثاليًا وفقًا للأبعاد المطلوبة.

Parameters:

معاملنوعالوصف
newWidthintالعرض الجديد.
newHeightintالارتفاع الجديد.
resizeTypeintنوع تغيير الحجم.

crop(Rectangle rectangle)

public void crop(Rectangle rectangle)

يقص المستطيل المحدد.

Parameters:

معاملنوعالوصف
rectangleRectangleالمستطيل.

rotate(float angle)

public void rotate(float angle)

دوّر الصورة حول المركز.

Parameters:

معاملنوعالوصف
anglefloatزاوية الدوران بالدرجات. القيم الموجبة تدور باتجاه عقارب الساعة.

setPalette(IColorPalette palette, boolean updateColors)

public void setPalette(IColorPalette palette, boolean updateColors)

يطبق لوحة ألوان محددة على الصورة، مما يتيح تخصيص أنظمة الألوان لأغراض جمالية أو وظيفية. توفر هذه الطريقة مرونة في إدارة لوحات الألوان لتلبية متطلبات التصميم أو التطبيق المختلفة.

Parameters:

معاملنوعالوصف
paletteIColorPaletteلوحة الألوان لتعيينها.
updateColorsbooleanإذا تم تعيينه إلى true سيتم تحديث الألوان وفقًا للوحة الألوان الجديدة؛ وإلا ستبقى فهارس الألوان دون تغيير. لاحظ أن الفهارس غير المتغيرة قد تتسبب في تعطل الصورة عند التحميل إذا لم يكن لبعض الفهارس إدخالات مطابقة في لوحة الألوان.