Các tệp SVG là Đồ họa vectơ có thể mở rộng chủ yếu được sử dụng trên web. Về mặt kỹ thuật, SVG là định dạng hình ảnh vector dựa trên XML để xác định đồ họa 2 chiều có hỗ trợ hoạt ảnh. Hình ảnh SVG có mật độ điểm ảnh cao, vì vậy những hình ảnh này hầu như không làm giảm chất lượng của chúng khi phóng to. Các tính năng này làm cho hình ảnh SVG có kích thước lớn hơn so với hình ảnh JPG. Do sự khác biệt về tính năng, cần phải chuyển đổi hình ảnh từ định dạng này sang định dạng khác. Bài viết này thảo luận về cách chuyển đổi vectơ SVG sang hình ảnh JPG trong Java.

Chuyển đổi SVG sang JPG trong Java (Thang độ xám, Xoay, Lật, Hình mờ sáng)

API Java để chuyển đổi hình ảnh

GroupDocs.Conversion trang bị cho các nhà phát triển Java API của nó để chuyển đổi các hình ảnh khác nhau thành các định dạng khác nhau. Kết quả chuyển đổi có thể được tùy chỉnh thêm bằng nhiều tùy chọn nâng cao. Tôi sẽ sử dụng API Java này, GroupDocs.Conversion for Java để chuyển đổi các tệp vectơ SVG thành định dạng hình ảnh JPG.

Tải xuống hoặc định cấu hình

Bạn có thể tải xuống tệp JAR từ phần tải xuống hoặc chỉ nhận các cấu hình phụ thuộc và kho lưu trữ cho tệp pom.xml của các ứng dụng Java dựa trên maven của bạn.

<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>

Chuyển đổi hình ảnh SVG sang JPG trong Java

Hãy bắt đầu với chuyển đổi cơ bản với cài đặt mặc định. Các bước sau đây cho biết cách chuyển đổi đồ họa vector SVG thành định dạng hình ảnh JPG trong Java.

  • Tải đồ họa SVG bằng lớp Converter.
  • Chuẩn bị các tùy chọn chuyển đổi hình ảnh.
  • Đặt loại tệp chuyển đổi là JPG.
  • Chuyển đổi sang hình ảnh JPG bằng phương thức convert() thích hợp với các tùy chọn đã chuẩn bị sẵn.

Mã nguồn Java sau đây chuyển đổi SVG thành hình ảnh JPG.

// Cách chuyển đổi tệp SVG sang định dạng JPG trong Java bằng các tùy chọn mặc định
Converter converter = new Converter("path/vector-graphics.svg");

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

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

Hình ảnh SVG sang JPG bằng Tùy chọn nâng cao trong Java

Trong khi chuyển đổi đồ họa vector, nhiều tùy chọn khác có thể được áp dụng cho đầu ra JPG để tùy chỉnh hình ảnh theo yêu cầu. Sau đây là một số thuộc tính có thể được điều chỉnh trong khi chuyển đổi SVG sang JPG:

  • độ sáng
  • Tương phản
  • Gamma
  • thang độ xám
  • Chế độ lật (Ngang / Dọc)
  • Góc quay
  • Chiều cao
  • Bề rộng
  • Chữ ký ảnh

Các bước sau đây cho biết cách áp dụng các tùy chỉnh trong khi chuyển đổi đồ họa SVG thành hình ảnh JPG trong Java.

  • Tải đồ họa SVG bằng lớp Converter.
  • Chuẩn bị các tùy chọn chuyển đổi hình ảnh.
  • Đặt loại tệp chuyển đổi là JPG.
  • Đặt các thuộc tính có liên quan khác bằng cách sử dụng các phương thức setter tương ứng và điều chỉnh giá trị của chúng cho phù hợp.
  • Chuyển đổi sang hình ảnh JPG bằng phương thức convert() với các tùy chọn đã chuẩn bị sẵn.

Mã nguồn sau đây áp dụng tùy chỉnh cho hình ảnh JPG trong khi chuyển đổi SVG sang JPG trong Java. Bạn có thể áp dụng bất kỳ hiệu ứng nào trong số này hoặc kết hợp để có đầu ra JPG mong muốn.

// Chuyển đổi tệp SVG sang định dạng JPG trong Java bằng nhiều tùy chỉnh khác nhau
Converter converter = new Converter("path/vector-graphics.svg");

ImageConvertOptions options = new ImageConvertOptions();
options.setFormat(ImageFileType.Jpg); // Set output format as JPG

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

// Thêm watermark vào JPG khi chuyển đổi từ định dạng 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-jpg-customized.jpg", options);

Nhận giấy phép API miễn phí

Bạn có thể nhận giấy phép tạm thời miễn phí để sử dụng API mà không bị giới hạn đánh giá.

Sự kết luận

Để kết thúc, chúng ta đã học cách chuyển đổi đồ họa vector SVG sang định dạng JPG trong các ứng dụng Java. Chúng tôi cũng đã thảo luận về cách chúng tôi có thể xoay, lật hoặc tạo hình mờ cho các tệp SVG khi được chuyển đổi sang JPG. Hơn nữa, chúng tôi đã điều chỉnh các tùy chọn độ sáng, gamma và thang độ xám.

Hãy thử xây dựng ứng dụng Java chuyển đổi hình ảnh của riêng bạn, bạn có thể tìm hiểu thêm về các API Java mã thấp và mã cao từ tài liệu để tự động chuyển đổi tài liệu và hình ảnh.

Cách dễ nhất là trải nghiệm các ví dụ từ GitHub. Liên hệ với chúng tôi nếu có bất kỳ thắc mắc nào qua diễn đàn.

Xem thêm