In this blog post I will explain how to read PSD images in Java.
What is PSD?
A PSD file contains multiple objects including images, shapes, text, filters and other objects often used in graphic designing/editing. This allows Photoshop users to save, transfer and make further changes to their work in the future.
The file name extension for PSD files is:
How to read a PSD image in Java with ImageIO
Step 1 Download TwelveMonkeys plugin and add to class path.
Step 2 Create a File handle, InputStream or URL pointing to the raw PSD image.
Step 3 ImageIO will now be able to read a PSD file into a BufferedImage. This syntax is like so:
BufferedImage image = ImageIO.read(psdFileOrInputStreamOrURL)
How to read a PSD image in Java with JDeli
Step 1 Add JDeli to the class or module path. (download the trial jar).
Step 2 Create a File handle, InputStream pointing to the raw PSD image. You can also use a byte containing the image data.
Step 3 Read the PSD image into a BufferedImage
BufferedImage image = JDeli.read(psdFile);
Why use JDeli to read PSD images?
JDeli offers a range of advantages over ImageIO and alternatives, including:
- prevent heap related JVM crashes
- improve read performance
- support for CMYK as well as RGB
- supports threading
- Support for later versions of Java and Java modules