SVG (Scalable Vector Graphics) เป็นรูปแบบภาพเวกเตอร์ที่ใช้ XML สำหรับกำหนดกราฟิกสองมิติพร้อมรองรับภาพเคลื่อนไหว รูปภาพเหล่านี้ส่วนใหญ่จะใช้บนเว็บเนื่องจากมีความหนาแน่นของพิกเซลสูง ในทางกลับกัน คุณสมบัติที่หลากหลายยังช่วยเพิ่มขนาดของภาพ SVG เมื่อเทียบกับภาพ PNG ที่มีขนาดเท่ากัน ความแตกต่างดังกล่าวทำให้นักพัฒนาคิดเกี่ยวกับการแปลงรูปภาพจากรูปแบบหนึ่งเป็นอีกรูปแบบหนึ่ง บทความนี้กล่าวถึงวิธีการแปลงเวกเตอร์ SVG เป็นภาพ PNG ใน Java

แปลง SVG เป็น PNG ใน Java (โทนสีเทา, หมุน, พลิก, สว่าง, ลายน้ำ)

Java API เพื่อแปลงรูปภาพ

GroupDocs.Conversion แสดงเอกสาร & API การแปลงรูปภาพสำหรับนักพัฒนา Java รองรับรายการรูปแบบรูปภาพจำนวนมากสำหรับการแปลงจากรูปแบบหนึ่งเป็นอีกรูปแบบหนึ่ง นอกจากนี้ยังสามารถปรับแต่งผลลัพธ์ของการแปลงได้โดยใช้ตัวเลือกขั้นสูงที่มีอยู่ ฉันจะใช้ API นี้ GroupDocs.Conversion for Java เพื่อแปลงกราฟิกเวกเตอร์ SVG เป็นรูปแบบภาพ PNG

ดาวน์โหลดหรือกำหนดค่า

คุณสามารถดาวน์โหลดไฟล์ JAR ได้จาก ส่วนการดาวน์โหลด หรือเพียงรับการกำหนดค่าพื้นที่เก็บข้อมูลและการพึ่งพาสำหรับ pom.xml ของแอปพลิเคชัน Java ที่ใช้ maven

<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 ใน Java

เรามาเริ่มกันที่การแปลงพื้นฐานด้วยการกำหนดค่าเริ่มต้นโดยไม่เสียเวลา ขั้นตอนต่อไปนี้แสดงวิธีการแปลงไฟล์กราฟิกเวกเตอร์ SVG เป็นภาพ PNG ใน Java

  • โหลดกราฟิก PNG โดยใช้คลาส Converter
  • เตรียมตัวเลือกการแปลงภาพ
  • กำหนดประเภทไฟล์การแปลงเป็น PNG
  • เรียกใช้เมธอด converter() เพื่อรับไฟล์ 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 โดยใช้ตัวเลือกขั้นสูงใน Java

สามารถใช้ตัวเลือกการปรับแต่งมากมายกับเอาต์พุต PNG ในขณะที่แปลงจาก SVG เพื่อให้ได้ผลลัพธ์ที่ต้องการ ต่อไปนี้เป็นคุณสมบัติบางอย่างที่สามารถปรับเปลี่ยนได้ในขณะที่แปลง SVG เป็น PNG:

ตัวเลือกการปรับแต่ง วิธีการ
ความสว่าง ตั้งค่าความสว่าง(ค่า int)
ความคมชัด setContrast(ค่า int)
โหมดพลิก (แนวนอน / แนวตั้ง) ตั้งค่าโหมดพลิก (ค่า ImageFlipModes)
Gamma setGamma(ค่าทศนิยม)
ระดับสีเทา ชุดระดับสีเทา(ค่าบูลีน)
ความสูง setHeight(ค่า int)
มุมการหมุน setRotateAngle(ค่า int)
ลายน้ำ ชุดลายน้ำ(ค่าตัวเลือกข้อความลายน้ำ)
ความกว้าง setWidth(ค่า int)

ขั้นตอนต่อไปนี้แสดงวิธีใช้รูปแบบต่างๆ ในขณะที่แปลงกราฟิก SVG เป็นภาพ PNG ใน Java

  • โหลดกราฟิก SVG โดยใช้คลาส Converter
  • เตรียมตัวเลือกการแปลงภาพ
  • กำหนดประเภทไฟล์การแปลงเป็น PNG
  • ตั้งค่าคุณสมบัติที่เกี่ยวข้องอื่นๆ โดยใช้วิธี setter ที่เกี่ยวข้อง และปรับค่าตามนั้น
  • แปลงเป็นภาพ PNG โดยใช้วิธีการแปลง() พร้อมตัวเลือกที่เตรียมไว้

คุณสามารถใช้เอฟเฟ็กต์เหล่านี้หรือใช้ร่วมกันเพื่อให้ได้เอาต์พุต 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 ฟรี

คุณสามารถ รับใบอนุญาตชั่วคราวได้ฟรี เพื่อใช้ API โดยไม่มีข้อจำกัดในการประเมิน

บทสรุป

โดยสรุป เราได้เรียนรู้การแปลงไฟล์ SVG เป็นรูปแบบ PNG ภายในแอปพลิเคชัน Java เราเรียนรู้เพิ่มเติมว่าเราสามารถหมุน พลิก หรือไฟล์ PNG ลายน้ำได้อย่างไรเมื่อแปลงจากรูปแบบ SVG นอกจากนี้ เรายังพูดถึงวิธีปรับตัวเลือกความสว่าง แกมมา และสเกลสีเทา

คุณอาจลองสร้างแอปพลิเคชัน Java สำหรับการแปลงรูปภาพของคุณเอง คุณสามารถเรียนรู้เพิ่มเติมเกี่ยวกับ API ได้จาก เอกสารประกอบ สำหรับการแปลงเอกสารและรูปภาพโดยอัตโนมัติ

วิธีที่ง่ายที่สุดคือการสัมผัสตัวอย่างจาก GitHub ติดต่อเราสำหรับคำถามใด ๆ ผ่านทาง ฟอรัม

ดูสิ่งนี้ด้วย