以编程方式旋转图像是构建预览生成器、照片编辑器或文档工作流时的常见需求。Conholdate.Total for Java 提供了强大的 SDK,使得在 Java 应用程序中进行图像处理变得简便。在本指南中,您将学习如何旋转 PNG 和 JPG 文件,配置旋转参数,并在保持高图像质量的同时保留元数据。
环境准备 - 前提条件和设置
在开始之前,请确保您具备以下条件:
- 已安装 Java 17 或更高版本。
- IDE,例如 IntelliJ IDEA 或 Eclipse。
- Maven 用于依赖管理。
将 Conholdate Maven 仓库和 SDK 依赖添加到您的 pom.xml:
<repositories>
<repository>
<id>conholdate-repo</id>
<name>Conholdate Maven Repository</name>
<url>https://repository.conholdate.com/repo/</url>
</repository>
</repositories>
<dependency>
<groupId>com.conholdate</groupId>
<artifactId>conholdate-total</artifactId>
<version>24.9</version>
<type>pom</type>
</dependency>
从官方下载页面下载最新的 SDK 二进制文件: Conholdate.Total for Java 下载。一旦解决了依赖关系,您就可以编写旋转图像的代码了。
在 Java 中旋转图像:分步演练
步骤 1:加载源和目标路径
定义输入和输出文件的位置。SDK 支持 PNG 和 JPG 两种格式。
String inputPath = "input.jpg";
String outputPath = "output_rotated.jpg";
步骤 2:初始化转换处理程序和选项
创建驱动转换过程的核心对象。
ConversionHandler handler = new ConversionHandler();
ImageConvertOptions options = new ImageConvertOptions();
步骤 3:设置旋转角度和背景颜色
指定将图像旋转多少度以及为空白角落填充的颜色。
options.setRotateAngle(90); // Rotate 90 degrees clockwise
options.setBackgroundColor(Color.WHITE); // Fill empty space with white
第4步:配置其他参数
在输出为 JPG 时,保留原始元数据并定义 JPEG 质量。
options.setPreserveMetadata(true);
options.setQuality(90); // JPEG quality (0‑100)
步骤 5:执行旋转
调用 convert 方法来应用旋转并写入结果。
handler.convert(inputPath, outputPath, options);
System.out.println("Image rotated successfully: " + outputPath);
有关 ConversionHandler 类的更多详细信息,请参阅官方 API 参考文档。
完整代码示例:在 Java 中使用 Conholdate.Total 旋转图像
以下示例演示了旋转图像文件的完整工作流。
本示例演示如何将 JPG 图像旋转 90 度并保存结果。
import com.groupdocs.conversion.ConversionHandler;
import com.groupdocs.conversion.options.convert.ImageConvertOptions;
import java.awt.Color;
public class RotateImageExample {
public static void main(String[] args) {
String inputPath = "input.jpg";
String outputPath = "output_rotated.jpg";
try (ConversionHandler handler = new ConversionHandler()) {
ImageConvertOptions options = new ImageConvertOptions();
// Rotation angle in degrees (positive = clockwise)
options.setRotateAngle(90);
// Background color for empty areas after rotation
options.setBackgroundColor(Color.WHITE);
// Preserve original metadata (EXIF, DPI, etc.)
options.setPreserveMetadata(true);
// Optional: for large images you can limit memory usage
options.setQuality(90); // JPEG quality (0-100)
handler.convert(inputPath, outputPath, options);
System.out.println("Image rotated successfully: " + outputPath);
} catch (Exception e) {
System.err.println("Error during image rotation:");
e.printStackTrace();
}
}
}
注意: 此代码示例演示了核心功能。在将其用于项目之前,请确保更新所有文件路径和配置值以匹配实际环境,确认已正确安装所有必需的依赖项,并在开发环境中彻底测试。如果遇到任何问题,请参阅官方文档或联系支持团队获取帮助。
旋转参数:选项和设置
SDK 提供了多种选项来微调旋转过程。
- Rotate Angle - 确定图像旋转的角度(以度为单位)。正值表示顺时针旋转。
options.setRotateAngle(90);
背景颜色 - 设置旋转后出现的空白角落的填充颜色。使用任意
java.awt.Color值。保留元数据 - 启用后,EXIF 数据、DPI 以及其他元数据将保留在输出文件中。有关更多详细信息,请参阅 ImageConvertOptions API。
质量 - 控制 JPEG 压缩质量 (0‑100)。更高的值保留更多细节,但会增加文件大小。
根据您的应用程序需求调整这些设置,无论您需要无损的 PNG 输出还是高质量的 JPG 结果。
结论
在 Java 中旋转图像非常简单,只需使用 Conholdate.Total for Java。本指南将带您完成所需的设置、详细的逐步实现以及关键的配置选项,帮助您控制旋转角度、背景、元数据保留和输出质量。请记得为生产部署获取正式许可证;您可以在 https://purchase.conholdate.com/pricing/total/family/ 查看定价选项,或在 https://purchase.conholdate.com/temporary-license/ 获取用于测试的临时许可证。集成 SDK 后,您可以在任何基于 Java 的工作流中添加可靠的图像旋转功能。
常见问题
如何在 Java 中使用 Conholdate.Total 旋转图像文件?
使用ImageConvertOptions类设置所需的旋转角度,然后像上面的示例中那样调用handler.convert(inputPath, outputPath, options)。我可以使用相同的代码旋转 PNG 和 JPG 图像吗?
是的,SDK 会自动检测源格式。只需在输入路径中提供正确的文件扩展名,相同的代码即可同时适用于 PNG 和 JPG。有哪些选项可以自定义旋转过程?
您可以调整旋转角度、背景颜色、输出质量,并选择是否保留元数据。有关完整列表,请参阅 ImageConvertOptions API。在生产环境中使用此功能是否需要许可证?
在生产环境中使用需要有效许可证。可在 https://purchase.conholdate.com/temporary-license/ 获取用于评估的临时许可证,或在 https://purchase.conholdate.com/pricing/total/family/ 查看完整的定价详情。
