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

发布于 2022年 02月 21日 06:53

腾讯服务器

88 / 年

  • 上海/北京/广州...
  • 2核 2G 4M
  • Linux/Windows
新年大优惠

腾讯服务器

425 / 年

  • 上海/北京/广州...
  • 4核 8G 10M
  • Linux/Windows
年度最便宜

腾讯服务器

1249 / 年

  • 上海/北京/广州...
  • 8核 16G 14M
  • Linux/Windows
点击查看

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 image
Image img = Image.load("sample.psd");

// Create PDF options
PdfOptions options = new PdfOptions();

// Convert PSD to PDF
img.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 Image
Image 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.png", pngOptions);
 image.save("psd-to-bmp.bmp", bmpOptions);        
 image.save("psd-to-gif.gif", gifOptions);
 image.save("psd-to-jpg.jpeg", jpegOptions);
 image.save("psd-to-jp2.jp2", jpeg2000Options);

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

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

// Load a PSD file as an image and caste it into PsdImage
PsdImage psdImage = (PsdImage) Image.load("sample.psd");

// Create an instance of PngOptions class
PngOptions pngOptions = new PngOptions();
pngOptions.setColorType(PngColorType.TruecolorWithAlpha);

// Loop through the list of layers
for (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}.png", i + 1), pngOptions); 
}

推荐文章