Full Name |
PSD (Adobe Photoshop) |
Format ID |
IG_FORMAT_PSD = 36 |
File Extension(s) |
*.psd |
Data Type |
Raster Image |
Data Encoding |
Binary |
Color Profile Support |
Read, Write |
Multi-Page Support |
No |
Alpha Channel Support |
Yes (see Comments for more information). |
ImageGear Supported Versions:
- Version 2.0
- Version 2.5
- Version 3.0
- Version 8.0
ImageGear Supported Features:
- IG_FLTR_DETECTSUPPORT - autodetection
- IG_FLTR_PAGEREADSUPPORT - single page file reading
- IG_FLTR_PAGEINSERTSUPPORT - single-page file writing
ImageGear Read Support:
- IG_COMPRESSION_DEFLATE:
- Indexed RGB: 1, 8 bpp;
- Grayscale: 8, 16 bpp;
- Grayscale + Alpha: 8, 16 bpp;
- Grayscale + Alpha + Extra: 8, 16 bpp;
- RGB: 24, 48 bpp;
- RGB + Alpha: 32, 64 bpp;
- RGB + Alpha + Extra 8, 16 bpc;
- CMYK: 32, 64 bpp;
- CMYK + Extra: 8, 16 bpc;
- Lab: 24, 48 bpp;
- Lab + Extra: 8, 16 bpc;
- HSL: 24, 48 bpp;
- HSL + Extra: 8, 16 bpc
- IG_COMPRESSION_NONE:
- Indexed RGB: 1, 8 bpp;
- Grayscale: 8, 16 bpp;
- Grayscale + Alpha: 8, 16 bpp;
- Grayscale + Alpha + Extra: 8, 16 bpp;
- RGB: 24, 48 bpp;
- RGB + Alpha: 32, 64 bpp;
- RGB + Alpha + Extra 8, 16 bpc;
- CMYK: 32, 64 bpp;
- CMYK + Extra: 8, 16 bpc;
- Lab: 24, 48 bpp;
- Lab + Extra: 8, 16 bpc;
- HSL: 24, 48bpp;
- HSL + Extra: 8, 16 bpc
- IG_COMPRESSION_RLE:
- Indexed RGB: 1, 8 bpp;
- Grayscale: 8, 16 bpp;
- Grayscale + Alpha: 8, 16 bpp;
- Grayscale + Alpha + Extra: 8, 16 bpp;
- RGB: 24, 48 bpp;
- RGB + Alpha: 32, 64 bpp;
- RGB + Alpha + Extra 8, 16 bpc;
- CMYK: 32, 64 bpp;
- CMYK + Extra: 8, 16 bpc;
- Lab: 24, 48 bpp;
- Lab + Extra: 8, 16 bpc;
- HSL: 24, 48 bpp;
- HSL + Extra: 8, 16 bpc
ImageGear Write Support:
- IG_COMPRESSION_NONE:
- Indexed RGB: 1, 8 bpp;
- Grayscale: 8 bpp;
- Grayscale + Alpha: 16 bpp;
- Grayscale + Alpha + Extra: 8 bpc;
- RGB: 24 bpp;
- RGB + Alpha: 32 bpp;
- RGB + Alpha + Extra: 8 bpc;
- CMYK: 32 bpp;
- CMYK + Extra: 8 bpc;
- Lab: 24 bpp;
- Lab + Extra: 8 bpc
- IG_COMPRESSION_PACKED_BITS:
- Indexed RGB: 1, 8 bpp;
- Grayscale: 8 bpp;
- Grayscale + Alpha: 16 bpp;
- Grayscale + Alpha + Extra: 8 bpc;
- RGB: 24 bpp;
- RGB + Alpha: 32 bpp;
- RGB + Alpha + Extra: 8 bpc;
- CMYK: 32 bpp;
- CMYK + Extra: 8 bpc;
- Lab: 24 bpp;
- Lab + Extra: 8 bpc
ImageGear Filter Control Parameters:
Filter Control Parameter |
Type |
Default Value |
Available Values |
Description |
LOAD_FIRST_EXTRA_CHANNEL_AS_ALPHA |
AT_BOOL |
FALSE |
TRUE, FALSE |
This parameter specifies how ImageGear should load the first extra channel of a PSD image. If FALSE, ImageGear loads all extra channels according to their descriptors in the file header. If the channel contains transparency information, ImageGear loads it as Alpha channel. Otherwise ImageGear loads it as Extra channel. If TRUE, ImageGear loads first extra channel as Alpha channel. This mode provides backward compatibility with previous versions of ImageGear. |
READ_LAYER_INDEX |
INT |
-1 |
Any integer, but no more than number of layers |
When > -1 specifies a zero based index of layer mask image to load, otherwise reads the composition image. |
READ_LAYER_MASK |
AT_BOOL |
FALSE |
FALSE, TRUE |
When TRUE PSD layer mask images are loaded as usual pages of multi-page file, otherwise layer masks are ignored. |
READ_LAYERS |
AT_BOOL |
TRUE |
TRUE, FALSE |
Affects the reading of PSD images that contain layers. If TRUE, ImageGear reads the composition image and image layers. If FALSE, ImageGear only reads the composition image. See Image Layers. |
SAVE_THUMBNAIL |
AT_BOOL |
FALSE |
FALSE, TRUE |
Gets/Sets thumbnail flag. If TRUE then thumbnail will be added to image. |
THUMBNAIL_ENABLE |
AT_BOOL |
FALSE |
FALSE, TRUE |
When TRUE thumbnail reading function loads thumbnail image provided by PSD format. |
THUMBNAIL_HEIGHT |
UINT |
64 |
Any positive value |
Gets/Sets thumbnail height. |
THUMBNAIL_WIDTH |
UINT |
64 |
Any positive value |
Gets/Sets thumbnail width. |
Comments:
The PSD file is considered by many in the computer graphics arts community as an industry standard.
The PSD is organized into 5 major segments of data: the header, 3 informational blocks, and the bitmap data. The short header always contains a "signature" of 8PPS, as well as these fields: width, height, and bit depth of the bitmap.
The first block of informational data is called the "Color Mode Data Block". It begins with a value for the length of the block. If the image has a palette, it is located here.
The next block is called the "Image Resources Block". Like the previous block, it first gives the length of the block. An ID field is filled with one of many possible values that indicate the structure where the data is stored. It may contain such parameters as resolution.
The last informational block is called the "Layer and Mask Instruction Block". After a value for the length of the block, it tells how many "layer records" follow. There is a record for each layer in the image. Each record begins with a channel ID and the length of the data in the record. After the records, a "Layer Mask" section may be stored, if applicable.
The bitmap data represents the last segment of a PSD file.
For historic reasons, ImageGear uses the IG_COMPRESSION_PACKED_BITS constant for saving Packed Bits compressed PSD images, and uses the IG_COMPRESSION_RLE constant to report Packed Bits compression when reading PSD images. For the PSD format, the terms "Packed Bits" and "RLE" are used synonymously.
The term "Alpha channel" has a different meaning in ImageGear and Adobe Photoshop. In ImageGear, Alpha channel defines the opacity/transparency of an image. Only one Alpha channel per image can exist. This corresponds to "Transparency" information in PSD and PSB formats. In Photoshop, "Alpha channels" are used for storing masks (grayscale images that define areas to be edited or protected from editing). ImageGear uses Extra channels for this purpose. Please see Spot and Mask Channels for more information.
References Used
Murray, James D. and William vanRyper. Encyclopedia of Graphics File Formats, 2d ed. Sebastopol, CA: O'Reilly & Associates, Inc., 1996.