1分钟学会在Java中将PSD转换为PNG等图片格式,你可能差一个它

1分钟学会在Java中将PSD转换为PNG等图片格式,你可能差一个它

PSD格式由Adobe Photoshop使用,以保存与图形设计有关的数据。PSD文件可以由集体形成图形的单个或多个图层组成。但是,将PSD图像直接查看或嵌入到Web或桌面应用程序中是不可行的。

为了解决此问题,可以将PSD文档转换为PDF或光栅图像格式。因此,本文提供了一些使用Java将PSD文件转换为PDF,PNG,JPEG,GIF和其他图像格式的简单方法。

  • 使用Java将PSD文件转换为PDF
  • 使用Java将PSD文件转换为光栅图像
  • 将PSD中的图层导出到Java中的栅格图像

Aspose.PSD for Java是功能强大的PSD文件操作API,可让您从Java应用程序中处理,编辑和转换PSD文档。API的转换器引擎使您可以将PSD文件转换为高保真度的其他格式。如果你还没有用过Aspose.PSD可以下载最新版测试。

使用Java将PSD文件转换为PDF

PDF是最受欢迎的数字文档格式之一,无论硬件或软件如何,PDF均可确保文档布局的稳定性。因此,在大多数情况下都可以采用PSD到PDF的转换。以下是将PSD文件转换为PDF的步骤。

  • 使用Image类加载PSD文件。
  • 创建一个PdfOptions类的实例。
  • 使用Image.save(String,PdfOptions)方法将PSD转换为PDF 。

以下代码示例显示了如何在Java中将PSD文件转换为PDF。

// Load imageImage img = Image.load("sample.psd");// Create PDF optionsPdfOptions options = new PdfOptions();// Convert PSD to PDFimg.save("psd-to-pdf.pdf", options );

使用Java将PSD文件转换为JPEG,PNG,BMP,GIF和JP2

如果不适合将PSD转换为PDF,则可以选择其他选项。PSD转换为光栅图像。以下是将PSD文件转换为特定栅格图像格式的步骤。

  • 使用Image类加载PSD文件。
  • 使用以下相应的图像选项类(根据所需的输出格式):
    • PngOptions
    • JpegOptions
    • BmpOptions
    • GifOptions
    • Jpeg2000Options
  • 使用Image.save(String,ImageOptions)保存转换后的图像。

下面的代码示例演示如何使用Java将PSD文件转换为PNG,JPEG,BMP,GIF和JPEG 2000图像。

// Load an existing PSD image as ImageImage image = Image.load("sample.psd");       // Create an instance of PngOptions class PngOptions pngOptions = new PngOptions(); // Create an instance of BmpOptions class BmpOptions bmpOptions = new BmpOptions();        // Create an instance of GifOptions class GifOptions gifOptions = new GifOptions(); // Create an instance of JpegOptions class JpegOptions jpegOptions = new JpegOptions(); // Create an instance of Jpeg2000Options class Jpeg2000Options jpeg2000Options = new Jpeg2000Options();  // Call the save method, provide output path and export options to convert PSD file to various raster file formats. image.save("psd-to-png.webp", pngOptions); image.save("psd-to-bmp.bmp", bmpOptions);         image.save("psd-to-gif.webp", gifOptions); image.save("psd-to-jpg.webp", jpegOptions); image.save("psd-to-jp2.jp2", jpeg2000Options);

将PSD中的每一层导出到单独的图像

还可以将PSD文件中的特定图层转换为栅格图像。下面的代码示例演示如何将PSD文件中的每一层转换为单独的PNG图像。

// Load a PSD file as an image and caste it into PsdImagePsdImage psdImage = (PsdImage) Image.load("sample.psd");// Create an instance of PngOptions classPngOptions pngOptions = new PngOptions();pngOptions.setColorType(PngColorType.TruecolorWithAlpha);// Loop through the list of layersfor (int i = 0; i < psdImage.getLayers().length; i++) { // Convert and save the layer to PNG file format. psdImage.getLayers()[i].save(String.format("layer_out{0}.webp", i + 1), pngOptions); }

推荐阅读