SVG 文件是主要用於網絡的可縮放矢量圖形。從技術上講,SVG 是一種基於 XML 的矢量圖像格式,用於定義具有動畫支持的二維圖形。 SVG 圖像具有高像素密度,因此這些圖像在放大時幾乎不會降低其質量。與 JPG 圖像相比,這些功能使 SVG 圖像的尺寸更大。由於功能差異,需要將圖像從一種格式轉換為另一種格式。本文討論如何在 Java 中將 SVG 矢量轉換為 JPG 圖像。

在 Java 中將 SVG 轉換為 JPG(灰度、旋轉、翻轉、亮水印)

用於轉換圖像的 Java API

GroupDocs.Conversion 為 Java 開發人員提供了將各種圖像轉換為不同格式的 API。可以使用多個高級選項進一步自定義轉換結果。我將使用此 Java API GroupDocs.Conversion for Java 將 SVG 矢量文件轉換為 JPG 圖像格式。

下載或配置

您可以從 下載部分 下載 JAR 文件,或者只獲取基於 maven 的 Java 應用程序的 pom.xml 的存儲庫和依賴項配置。

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

在 Java 中將 SVG 圖像轉換為 JPG 圖像

讓我們從使用默認設置的基本轉換開始。以下步驟展示瞭如何在 Java 中將 SVG 矢量圖形轉換為 JPG 圖像格式。

  • 使用 Converter 類加載 SVG 圖形。
  • 準備圖像轉換選項。
  • 將轉換文件類型設置為 JPG。
  • 使用適當的 convert() 方法和準備好的選項轉換為 JPG 圖像。

以下 Java 源代碼將 SVG 轉換為 JPG 圖像。

// 如何使用默認選項在 Java 中將 SVG 文件轉換為 JPG 格式
Converter converter = new Converter("path/vector-graphics.svg");

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

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

使用 Java 中的高級選項將 SVG 轉為 JPG 圖像

在轉換矢量圖形時,可以將許多其他選項應用於 JPG 輸出以根據需要自定義圖像。以下是 SVG 到 JPG 轉換時可以調整的一些屬性:

  • 亮度
  • 對比
  • 伽馬
  • 灰階
  • 翻轉模式(水平/垂直)
  • 旋轉角度
  • 高度
  • 寬度
  • 水印

以下步驟顯示如何在將 SVG 圖形轉換為 Java 中的 JPG 圖像時應用自定義。

  • 使用 Converter 類加載 SVG 圖形。
  • 準備圖像轉換選項。
  • 將轉換文件類型設置為 JPG。
  • 使用各自的 setter 方法設置其他相關屬性,並相應地調整它們的值。
  • 使用帶有準備好的選項的 convert() 方法轉換為 JPG 圖像。

以下源代碼在 Java 中將 SVG 轉換為 JPG 時對 JPG 圖像應用自定義。您可以應用這些效果中的任何一種或組合使用以獲得所需的 JPG 輸出。

// 使用各種自定義將 SVG 文件轉換為 Java 中的 JPG 格式
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

// 從 SVG 格式轉換為 JPG 時添加水印
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);

獲取免費的 API 許可證

您可以 獲得免費的臨時許可證 以不受評估限制地使用 API。

結論

總而言之,我們學習了在 Java 應用程序中將 SVG 矢量圖形轉換為 JPG 格式。我們還討論瞭如何在轉換為 JPG 時旋轉、翻轉或添加水印 SVG 文件。此外,我們還調整了亮度、伽瑪和灰度選項。

嘗試構建您自己的圖像轉換 Java 應用程序,您可以從 文檔 了解更多關於低代碼和高代碼 Java API 的信息,以實現文檔和圖像轉換的自動化。

最簡單的方法是體驗 GitHub 中的示例。如有任何疑問,請通過 論壇 聯繫我們。

也可以看看