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

تحويل SVG إلى PNG في Java (تدرج الرمادي ، تدوير ، انعكاس ، ساطع ، علامة مائية)

Java API لتحويل الصور

GroupDocs.Conversion يعرض المستند و واجهة برمجة تطبيقات تحويل الصور لمطوري جافا. وهو يدعم قائمة كبيرة من تنسيقات الصور للتحويل من تنسيق إلى آخر. بالإضافة إلى ذلك ، يمكن أيضًا تخصيص نتائج التحويل باستخدام الخيارات المتقدمة المتاحة. سأستخدم واجهة برمجة التطبيقات هذه ، GroupDocs.Conversion for Java لتحويل رسومات SVG المتجهة إلى تنسيق صورة PNG.

تنزيل أو تكوين

يمكنك تنزيل ملف JAR من قسم التنزيلات ، أو الحصول على المستودع وتكوينات التبعية لـ pox.xml لتطبيقات Java المستندة إلى المخضرم.

<repository>
	<id>GroupDocsJavaAPI</id>
	<name>GroupDocs Java API</name>
	<url>http://repository.groupdocs.com/repo/</url>
</repository>
<dependency>
        <groupId>com.groupdocs</groupId>
        <artifactId>groupdocs-conversion</artifactId>
        <version>22.3</version> 
</dependency>

تحويل SVG إلى صورة PNG في جافا

دون إضاعة أي وقت ، لنبدأ بالتحويل الأساسي بالتكوين الافتراضي. توضح الخطوات التالية كيفية تحويل ملف رسومات متجه SVG إلى صورة PNG في Java.

  • قم بتحميل رسم PNG باستخدام فئة المحول.
  • جهز خيارات تحويل الصورة.
  • قم بتعيين نوع ملف التحويل على أنه PNG.
  • قم باستدعاء طريقة convert () لتحويل ملف SVG المحمل إلى صورة PNG.

يحول كود مصدر Java التالي SVG إلى صورة PNG.

// كيفية تحويل ملف SVG إلى تنسيق PNG في Java باستخدام الخيارات الافتراضية
Converter converter = new Converter("path/vector-graphics.svg");

ImageConvertOptions options = new ImageConvertOptions();
options.setFormat(ImageFileType.Png);

converter.convert("path/svg-to-png.png", options);

SVG إلى PNG Image باستخدام Advanced Options في Java

يمكن تطبيق العديد من خيارات التخصيص على مخرجات PNG أثناء التحويل من SVG للحصول على النتيجة المرجوة. فيما يلي بعض الخصائص التي يمكن تعديلها أثناء تحويل SVG إلى PNG:

خيار التخصيص الطريقة
السطوع setBrightness(int value)
التباين setContrast(int value)
وضع الانعكاس (أفقي / عمودي) setFlipMode(ImageFlipModes value)
جاما setGamma(float value)
تدرج الرمادي setGrayscale(boolean value)
الارتفاع setHeight(int value)
زوايا الدوران setRotateAngle(int value)
علامة مائية setWatermark(WatermarkTextOptions value)
العرض setWidth(int value)

توضح الخطوات التالية كيفية تطبيق التباينات أثناء تحويل رسم SVG إلى صورة PNG في Java.

  • قم بتحميل رسم SVG باستخدام فئة المحول.
  • جهز خيارات تحويل الصورة.
  • قم بتعيين نوع ملف التحويل على أنه PNG.
  • عيّن الخصائص الأخرى ذات الصلة باستخدام طرق الضبط ذات الصلة واضبط قيمها وفقًا لذلك.
  • قم بالتحويل إلى صورة PNG باستخدام طريقة convert () مع خيارات معدة.

يمكنك تطبيق أي من هذه التأثيرات أو مجتمعة للحصول على إخراج PNG المطلوب. تطبق التعليمات البرمجية المصدر التالية التخصيص على صورة PNG أثناء تحويل SVG إلى PNG في Java.

// قم بتحويل ملف SVG إلى تنسيق PNG في Java باستخدام تخصيصات متنوعة
Converter converter = new Converter("path/vector-graphics.svg");

ImageConvertOptions options = new ImageConvertOptions();
options.setFormat(ImageFileType.Png); // Set output format as PNG

options.setFlipMode(ImageFlipModes.FlipY); // Flip Vertically or Horizontally
options.setBrightness(50);  // Set Brightness
options.setContrast(50);    // Set Contrast
options.setGamma(0.5F);     // Set Gamma
options.setGrayscale(true);	// Set Grayscale
options.setRotateAngle(45);	// Set Rotation

// أضف علامة مائية إلى PNG عند التحويل من تنسيق SVG
WatermarkTextOptions watermark = new WatermarkTextOptions("Watermark");
watermark.setColor(Color.BLUE);
watermark.setBackground(false);
watermark.setRotationAngle(-45);
watermark.setTop(50);
watermark.setLeft(50);
watermark.setTransparency(0.2);
watermark.setWidth(450);
watermark.setHeight(450);
options.setWatermark(watermark);

converter.convert("path/svg-to-png-customized.png", options);

احصل على ترخيص API مجاني

يمكنك الحصول على ترخيص مؤقت مجاني لاستخدام واجهة برمجة التطبيقات بدون قيود التقييم.

استنتاج

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

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

أسهل طريقة هي تجربة الأمثلة من GitHub. اتصل بنا لأي استفسار عبر المنتدى.

أنظر أيضا