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 应用程序的 pox.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 中的示例。如有任何疑问,请通过 论坛 联系我们。

也可以看看