1分钟学会在Java中将PSD转换为PNG等图片格式,你可能差一个它
发布于 2022年 02月 21日 06:53
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);
}