9807 lines
131 KiB
Plaintext
9807 lines
131 KiB
Plaintext
|
|
Adobe Photoshop
|
|
|
|
|
|
File Formats
|
|
|
|
|
|
Specification
|
|
|
|
|
|
November 2019
|
|
|
|
Copyright © 1991-2019 Adobe Systems Incorporated. All rights reserved.
|
|
|
|
Portions Copyright © 1990-1991, Thomas Knoll.
|
|
|
|
The information in this document is furnished for informational use
|
|
only, is subject to change without notice, and should not be construed
|
|
as a commitment by Adobe Systems Incorporated. Adobe Systems
|
|
Incorporated assumes no responsibility or liability for any errors or
|
|
inaccuracies that may appear in this document. The software described in
|
|
this document is furnished under license and may only be used or copied
|
|
in accordance with the terms of such license.
|
|
|
|
Adobe, After Effects, PhotoDeluxe, Adobe Premiere, Photoshop, Adobe
|
|
Illustrator, Adobe Type Manager, ATM and PostScript are either
|
|
trademarks or registered trademarks of Adobe Systems Incorporated in the
|
|
United States and/or other countries. Apple, Macintosh, and Mac are
|
|
trademarks of Apple Computer, Inc. registered in the United States and
|
|
other countries. Microsoft and Windows are either registered trademarks
|
|
or trademarks of Microsoft Corporation in the United States and/or other
|
|
countries. All other products are the property of their respective owners.
|
|
|
|
|
|
|
|
|
|
Preface
|
|
|
|
Welcome to the Adobe Photoshop® File Format Specification!
|
|
|
|
This document is the detailed specification of the Adobe Photoshop file
|
|
format and other pertinent file formats that Adobe Photoshop reads and
|
|
writes.
|
|
|
|
|
|
Audience
|
|
|
|
This document is provided for 3rd parties to read and write the
|
|
Photoshop native file format. This document does not explain how to
|
|
interpret the data. This document describes the format of the data only.
|
|
|
|
|
|
What Is In This Document
|
|
|
|
This document has three chapters:
|
|
|
|
The Photoshop File Format <https://www.adobe.com/devnet-apps/photoshop/
|
|
fileformatashtml/PhotoshopFileFormats.htm#50577409_72092> describes the
|
|
Photoshop /PSD / and /PSB / native file format in detail.
|
|
|
|
Other Document File Formats <https://www.adobe.com/devnet-apps/
|
|
photoshop/fileformatashtml/PhotoshopFileFormats.htm#50577413_61897>
|
|
discusses Photoshop's handling of the /EPS / and /TIFF / file formats,
|
|
which Photoshop can also create and read.
|
|
|
|
Additional File Formats <https://www.adobe.com/devnet-apps/photoshop/
|
|
fileformatashtml/PhotoshopFileFormats.htm#50577411_20528> describes the
|
|
formats of other files used by Photoshop to store information about such
|
|
items as colors, contours, curves, levels and so forth.
|
|
|
|
For more information about file formats, you may wish to consult the /
|
|
Encyclopedia of Graphics File Formats/ by James D. Murray & William
|
|
vanRyper (1994, O'Reilly & Associates, Inc., Sebastopol, CA, ISBN
|
|
1-56592-058-9).
|
|
|
|
|
|
What Is NOT In This Document
|
|
|
|
This document does not have any information regarding the PSDC
|
|
(Photoshop Cloud Document) that was introduced in November of 2019. That
|
|
format, at this time, is private. This link will give you more
|
|
information about Photoshop Cloud Documents. <https://helpx.adobe.com/
|
|
photoshop/using/cloud-documents-faq.html>
|
|
|
|
|
|
SDK User to User Forum
|
|
|
|
The Adobe forums web page, http://www.adobe.com/support/forums <http://
|
|
www.adobe.com/support/forums>, is also availble for discussion of SDK
|
|
issues. From the page above follow the Photoshop link and then the Adobe
|
|
Photoshop Developers link.
|
|
|
|
|
|
|
|
Contents
|
|
|
|
|
|
Preface <https://www.adobe.com/devnet-apps/photoshop/
|
|
fileformatashtml/PhotoshopFileFormats.htm#50577419_pgfId-27490>
|
|
|
|
Audience <https://www.adobe.com/devnet-apps/photoshop/fileformatashtml/
|
|
PhotoshopFileFormats.htm#50577419_pgfId-28729>
|
|
|
|
What Is In This Document <https://www.adobe.com/devnet-apps/photoshop/
|
|
fileformatashtml/PhotoshopFileFormats.htm#50577419_pgfId-28734>
|
|
|
|
What Is NOT In This Document <https://www.adobe.com/devnet-apps/
|
|
photoshop/fileformatashtml/PhotoshopFileFormats.htm#50577419_pgfId-28735>
|
|
|
|
SDK User to User Forum <https://www.adobe.com/devnet-apps/photoshop/
|
|
fileformatashtml/PhotoshopFileFormats.htm#50577419_pgfId-28886>
|
|
|
|
|
|
The Photoshop File Format <https://www.adobe.com/devnet-
|
|
apps/photoshop/fileformatashtml/
|
|
PhotoshopFileFormats.htm#50577409_pgfId-1030196>
|
|
|
|
Introduction <https://www.adobe.com/devnet-apps/photoshop/
|
|
fileformatashtml/PhotoshopFileFormats.htm#50577409_pgfId-1056424>
|
|
|
|
Large Document Format <https://www.adobe.com/devnet-apps/photoshop/
|
|
fileformatashtml/PhotoshopFileFormats.htm#50577409_pgfId-1057388>
|
|
|
|
Windows <https://www.adobe.com/devnet-apps/photoshop/fileformatashtml/
|
|
PhotoshopFileFormats.htm#50577409_pgfId-1057422>
|
|
|
|
Mac OS <https://www.adobe.com/devnet-apps/photoshop/fileformatashtml/
|
|
PhotoshopFileFormats.htm#50577409_pgfId-1036279>
|
|
|
|
Photoshop File Format <https://www.adobe.com/devnet-apps/photoshop/
|
|
fileformatashtml/PhotoshopFileFormats.htm#50577409_pgfId-1036097>
|
|
|
|
File Header Section <https://www.adobe.com/devnet-apps/photoshop/
|
|
fileformatashtml/PhotoshopFileFormats.htm#50577409_pgfId-1055726>
|
|
|
|
Color Mode Data Section <https://www.adobe.com/devnet-apps/photoshop/
|
|
fileformatashtml/PhotoshopFileFormats.htm#50577409_pgfId-1037450>
|
|
|
|
Image Resources Section <https://www.adobe.com/devnet-apps/photoshop/
|
|
fileformatashtml/PhotoshopFileFormats.htm#50577409_pgfId-1037504>
|
|
|
|
Image Resource Blocks <https://www.adobe.com/devnet-apps/photoshop/
|
|
fileformatashtml/PhotoshopFileFormats.htm#50577409_pgfId-1037685>
|
|
|
|
Image Resource IDs <https://www.adobe.com/devnet-apps/photoshop/
|
|
fileformatashtml/PhotoshopFileFormats.htm#50577409_pgfId-1037727>
|
|
|
|
Layer and Mask Information Section <https://www.adobe.com/devnet-apps/
|
|
photoshop/fileformatashtml/PhotoshopFileFormats.htm#50577409_pgfId-1031423>
|
|
|
|
Additional Layer Information <https://www.adobe.com/devnet-apps/
|
|
photoshop/fileformatashtml/PhotoshopFileFormats.htm#50577409_pgfId-1049436>
|
|
|
|
Image Data Section <https://www.adobe.com/devnet-apps/photoshop/
|
|
fileformatashtml/PhotoshopFileFormats.htm#50577409_pgfId-1054855>
|
|
|
|
|
|
Other Document File Formats <https://www.adobe.com/devnet-
|
|
apps/photoshop/fileformatashtml/
|
|
PhotoshopFileFormats.htm#50577413_pgfId-1030196>
|
|
|
|
Photoshop EPS files <https://www.adobe.com/devnet-apps/photoshop/
|
|
fileformatashtml/PhotoshopFileFormats.htm#50577413_pgfId-1035096>
|
|
|
|
TIFF files <https://www.adobe.com/devnet-apps/photoshop/
|
|
fileformatashtml/PhotoshopFileFormats.htm#50577413_pgfId-1035272>
|
|
|
|
Photoshop-specific TIFF Tags <https://www.adobe.com/devnet-apps/
|
|
photoshop/fileformatashtml/PhotoshopFileFormats.htm#50577413_pgfId-1039502>
|
|
|
|
TIFF Files on Mac OS <https://www.adobe.com/devnet-apps/photoshop/
|
|
fileformatashtml/PhotoshopFileFormats.htm#50577413_pgfId-1038136>
|
|
|
|
|
|
Additional File Formats <https://www.adobe.com/devnet-apps/
|
|
photoshop/fileformatashtml/
|
|
PhotoshopFileFormats.htm#50577411_pgfId-1058068>
|
|
|
|
Actions <https://www.adobe.com/devnet-apps/photoshop/fileformatashtml/
|
|
PhotoshopFileFormats.htm#50577411_pgfId-1059252>
|
|
|
|
Arbitrary Map <https://www.adobe.com/devnet-apps/photoshop/
|
|
fileformatashtml/PhotoshopFileFormats.htm#50577411_pgfId-1070460>
|
|
|
|
Single active channels <https://www.adobe.com/devnet-apps/photoshop/
|
|
fileformatashtml/PhotoshopFileFormats.htm#50577411_pgfId-1070494>
|
|
|
|
CMYK Setup <https://www.adobe.com/devnet-apps/photoshop/
|
|
fileformatashtml/PhotoshopFileFormats.htm#50577411_pgfId-1070500>
|
|
|
|
Color Books <https://www.adobe.com/devnet-apps/photoshop/
|
|
fileformatashtml/PhotoshopFileFormats.htm#50577411_pgfId-1066780>
|
|
|
|
Color Table <https://www.adobe.com/devnet-apps/photoshop/
|
|
fileformatashtml/PhotoshopFileFormats.htm#50577411_pgfId-1070626>
|
|
|
|
Color Swatches <https://www.adobe.com/devnet-apps/photoshop/
|
|
fileformatashtml/PhotoshopFileFormats.htm#50577411_pgfId-1055819>
|
|
|
|
Contours <https://www.adobe.com/devnet-apps/photoshop/fileformatashtml/
|
|
PhotoshopFileFormats.htm#50577411_pgfId-1056158>
|
|
|
|
Curves <https://www.adobe.com/devnet-apps/photoshop/fileformatashtml/
|
|
PhotoshopFileFormats.htm#50577411_pgfId-1056330>
|
|
|
|
Custom Kernel <https://www.adobe.com/devnet-apps/photoshop/
|
|
fileformatashtml/PhotoshopFileFormats.htm#50577411_pgfId-1072133>
|
|
|
|
Duotone Options <https://www.adobe.com/devnet-apps/photoshop/
|
|
fileformatashtml/PhotoshopFileFormats.htm#50577411_pgfId-1064451>
|
|
|
|
Halftone Screens <https://www.adobe.com/devnet-apps/photoshop/
|
|
fileformatashtml/PhotoshopFileFormats.htm#50577411_pgfId-1056740>
|
|
|
|
Hue/Saturation <https://www.adobe.com/devnet-apps/photoshop/
|
|
fileformatashtml/PhotoshopFileFormats.htm#50577411_pgfId-1056863>
|
|
|
|
Levels <https://www.adobe.com/devnet-apps/photoshop/fileformatashtml/
|
|
PhotoshopFileFormats.htm#50577411_pgfId-1057086>
|
|
|
|
Monitor Setup <https://www.adobe.com/devnet-apps/photoshop/
|
|
fileformatashtml/PhotoshopFileFormats.htm#50577411_pgfId-1070808>
|
|
|
|
Replace Color/Color Range <https://www.adobe.com/devnet-apps/photoshop/
|
|
fileformatashtml/PhotoshopFileFormats.htm#50577411_pgfId-1065371>
|
|
|
|
Selective Color <https://www.adobe.com/devnet-apps/photoshop/
|
|
fileformatashtml/PhotoshopFileFormats.htm#50577411_pgfId-1057552>
|
|
|
|
Separation Tables <https://www.adobe.com/devnet-apps/photoshop/
|
|
fileformatashtml/PhotoshopFileFormats.htm#50577411_pgfId-1070974>
|
|
|
|
Transfer Function <https://www.adobe.com/devnet-apps/photoshop/
|
|
fileformatashtml/PhotoshopFileFormats.htm#50577411_pgfId-1071095>
|
|
|
|
|
|
|
|
|
|
|
|
The Photoshop File Format
|
|
|
|
|
|
Introduction
|
|
|
|
This chapter discusses the Photoshop native file format
|
|
|
|
/Photoshop file types
|
|
|
|
/
|
|
|
|
OS
|
|
|
|
|
|
|
|
Filetype/extension
|
|
|
|
Mac OS
|
|
|
|
|
|
|
|
/8BPS/
|
|
|
|
Windows
|
|
|
|
|
|
|
|
/.PSD/
|
|
|
|
|
|
Large Document Format
|
|
|
|
The Large Document Format (8BPB/PSB) supports documents up to 300,000
|
|
pixels in any dimension. All Photoshop features, such as layers,
|
|
effects, and filters, are supported by the PSB format. The PSB format is
|
|
identical to the Photoshop native format in many ways. This document
|
|
will cover the differences found in the PSB format by donating a **PSB**
|
|
marker.
|
|
|
|
|
|
Windows
|
|
|
|
All data is stored in big endian byte order. On the Windows platform,
|
|
you must byte swap short and long integers when reading or writing.
|
|
|
|
|
|
Mac OS
|
|
|
|
For cross-platform compatibility, all information needed by Photoshop is
|
|
stored in the data fork. For interoperability with other Macintosh
|
|
applications, however, some information is duplicated in resources
|
|
stored in the resource fork of the file:
|
|
|
|
For compatibility with image cataloging applications, the /'pnot'/
|
|
resource id 0 contains references to thumbnail, keywords, and caption
|
|
information stored in other resources.
|
|
|
|
The thumbnail picture is stored in a /'PICT'/ resource, the keywords are
|
|
stored in /'STR#'/ resource 128 and the caption text is stored
|
|
in /'TEXT'/ resource 128. For more information on the format of these
|
|
resources see /Inside Macintosh: QuickTime Components/ and the /Extensis
|
|
Fetch Awareness Developer's Toolkit/ .
|
|
|
|
Photoshop also creates /'icl8'/ -16455 and /'ICN#'/ -16455 resources
|
|
containing thumbnail images which will be shown in the Mac OS Finder.
|
|
|
|
All of the data from Photoshop's File Info dialog is stored in /'ANPA'/
|
|
resource 10000. The data in this resource is stored as an IPTC-NAA
|
|
record 2.For more information on the format of this resource, see the
|
|
documents in the /IPTC/ folder of the /Documentation/ folder.//
|
|
|
|
|
|
Photoshop File Format
|
|
|
|
The Photoshop file format is divided into five major parts, as shown in
|
|
the Photoshop file structure <https://www.adobe.com/devnet-apps/
|
|
photoshop/fileformatashtml/PhotoshopFileFormats.htm#50577409_84154>. The
|
|
Photoshop file format has many length markers. Use these length markers
|
|
to move from one section to the next. The length markers are usually
|
|
padded with bytes to round to the nearest 2 or 4 byte interval.
|
|
|
|
|
|
Photoshop file structure
|
|
|
|
Photoshop File Format
|
|
|
|
File header (File Header Section <https://www.adobe.com/devnet-apps/
|
|
photoshop/fileformatashtml/PhotoshopFileFormats.htm#50577409_19840>).
|
|
|
|
Color mode data (Color Mode Data Section <https://www.adobe.com/devnet-
|
|
apps/photoshop/fileformatashtml/PhotoshopFileFormats.htm#50577409_71638>)
|
|
|
|
Image resources (Image Resources Section <https://www.adobe.com/devnet-
|
|
apps/photoshop/fileformatashtml/PhotoshopFileFormats.htm#50577409_69883>)
|
|
|
|
Layer and mask information (Layer and Mask Information Section <https://
|
|
www.adobe.com/devnet-apps/photoshop/fileformatashtml/
|
|
PhotoshopFileFormats.htm#50577409_75067>)
|
|
|
|
Image data (Image Data Section <https://www.adobe.com/devnet-apps/
|
|
photoshop/fileformatashtml/PhotoshopFileFormats.htm#50577409_89817>).
|
|
|
|
The file header has a fixed length; the other four sections are variable
|
|
in length.
|
|
|
|
When writing one of these sections, you should write all fields in the
|
|
section, as Photoshop may try to read the entire section. Whenever
|
|
writing a file and skipping bytes, you should explicitly write zeros for
|
|
the skipped fields.
|
|
|
|
When reading one of the length-delimited sections, use the length field
|
|
to decide when you should stop reading. In most cases, the length field
|
|
indicates the number of bytes, not records, following.
|
|
|
|
The values in "Length" column in all tables are in bytes.
|
|
|
|
All values defined as *Unicode string* consist of:
|
|
|
|
A 4-byte length field, representing the number of UTF-16 code units in
|
|
the string (not bytes).
|
|
|
|
The string of Unicode values, two bytes per character and a two byte
|
|
null for the end of the string.
|
|
|
|
|
|
File Header Section
|
|
|
|
The file header contains the basic properties of the image.
|
|
|
|
/File header section
|
|
|
|
/
|
|
|
|
Length
|
|
|
|
|
|
|
|
Description
|
|
|
|
4
|
|
|
|
|
|
|
|
Signature: always equal to /'8BPS'/ . Do not try to read the file if the
|
|
signature does not match this value.
|
|
|
|
2
|
|
|
|
|
|
|
|
Version: always equal to 1. Do not try to read the file if the version
|
|
does not match this value. (**PSB** version is 2.)
|
|
|
|
6
|
|
|
|
|
|
|
|
Reserved: must be zero.
|
|
|
|
2
|
|
|
|
|
|
|
|
The number of channels in the image, including any alpha channels.
|
|
Supported range is 1 to 56.
|
|
|
|
4
|
|
|
|
|
|
|
|
The height of the image in pixels. Supported range is 1 to 30,000.
|
|
|
|
(**PSB** max of 300,000.)
|
|
|
|
4
|
|
|
|
|
|
|
|
The width of the image in pixels. Supported range is 1 to 30,000.
|
|
|
|
(*PSB** max of 300,000)
|
|
|
|
2
|
|
|
|
|
|
|
|
Depth: the number of bits per channel. Supported values are 1, 8, 16 and 32.
|
|
|
|
2
|
|
|
|
|
|
|
|
The color mode of the file. Supported values are: Bitmap = 0; Grayscale
|
|
= 1; Indexed = 2; RGB = 3; CMYK = 4; Multichannel = 7; Duotone = 8; Lab = 9.
|
|
|
|
|
|
Color Mode Data Section
|
|
|
|
The color mode data section is structured as follows:
|
|
|
|
/Color mode data section
|
|
|
|
/
|
|
|
|
Length
|
|
|
|
|
|
|
|
Description
|
|
|
|
4
|
|
|
|
|
|
|
|
The length of the following color data.
|
|
|
|
Variable
|
|
|
|
|
|
|
|
The color data.
|
|
|
|
Only indexed color and duotone (see the mode field in the File header
|
|
section <https://www.adobe.com/devnet-apps/photoshop/fileformatashtml/
|
|
PhotoshopFileFormats.htm#50577409_73953>) have color mode data. For all
|
|
other modes, this section is just the 4-byte length field, which is set
|
|
to zero.
|
|
|
|
Indexed color images: length is 768; color data contains the color table
|
|
for the image, in non-interleaved order.
|
|
|
|
Duotone images: color data contains the duotone specification (the
|
|
format of which is not documented). Other applications that read
|
|
Photoshop files can treat a duotone image as a gray image, and just
|
|
preserve the contents of the duotone information when reading and
|
|
writing the file.
|
|
|
|
|
|
Image Resources Section
|
|
|
|
The third section of the file contains image resources. It starts with a
|
|
length field, followed by a series of resource blocks.
|
|
|
|
/Image resources section
|
|
|
|
/
|
|
|
|
Length
|
|
|
|
|
|
|
|
Description
|
|
|
|
4
|
|
|
|
|
|
|
|
Length of image resource section. The length may be zero.
|
|
|
|
Variable
|
|
|
|
|
|
|
|
Image resources (Image Resource Blocks <https://www.adobe.com/devnet-
|
|
apps/photoshop/fileformatashtml/PhotoshopFileFormats.htm#50577409_46269> ).
|
|
|
|
|
|
Image Resource Blocks
|
|
|
|
Image resource blocks are the basic building unit of several file
|
|
formats, including Photoshop's native file format, JPEG, and TIFF. Image
|
|
resources are used to store non-pixel data associated with images, such
|
|
as pen tool paths.
|
|
|
|
They are referred to as resource blocks because they hold data that was
|
|
stored in the Macintosh's resource fork in early versions of Photoshop.
|
|
|
|
The basic structure of image resource blocks is shown in the Image
|
|
resource block <https://www.adobe.com/devnet-apps/photoshop/
|
|
fileformatashtml/PhotoshopFileFormats.htm#50577409_34945>. The last
|
|
field is the data area, which varies by resource type. The makeup of
|
|
each resource type is described in the following sections.
|
|
|
|
/Image resource block
|
|
|
|
/
|
|
|
|
Length
|
|
|
|
|
|
|
|
Description
|
|
|
|
4
|
|
|
|
|
|
|
|
Signature: /'8BIM'/
|
|
|
|
2
|
|
|
|
|
|
|
|
Unique identifier for the resource. Image resource IDs <https://
|
|
www.adobe.com/devnet-apps/photoshop/fileformatashtml/
|
|
PhotoshopFileFormats.htm#50577409_38034> contains a list of resource IDs
|
|
used by Photoshop.
|
|
|
|
Variable
|
|
|
|
|
|
|
|
Name: Pascal string, padded to make the size even (a null name consists
|
|
of two bytes of 0)
|
|
|
|
4
|
|
|
|
|
|
|
|
Actual size of resource data that follows
|
|
|
|
Variable
|
|
|
|
|
|
|
|
The resource data, described in the sections on the individual resource
|
|
types. It is padded to make the size even.
|
|
|
|
|
|
Image Resource IDs
|
|
|
|
Image resources use several standard ID numbers, as shown in the Image
|
|
resource IDs <https://www.adobe.com/devnet-apps/photoshop/
|
|
fileformatashtml/PhotoshopFileFormats.htm#50577409_38034>. Not all file
|
|
formats use all ID's. Some information may be stored in other sections
|
|
of the file.
|
|
|
|
For those resource IDs that have been added since Photoshop 3.0. the
|
|
entry indicates the version in which they were introduced, e.g. (/
|
|
Photoshop 6.0)./
|
|
|
|
/Image resource IDs
|
|
|
|
/
|
|
|
|
ID
|
|
|
|
|
|
|
|
Description
|
|
|
|
Hex
|
|
|
|
|
|
|
|
Decimal
|
|
|
|
0x03E8
|
|
|
|
|
|
|
|
1000
|
|
|
|
|
|
|
|
/(Obsolete--Photoshop 2.0 only/ ) Contains five 2-byte values: number of
|
|
channels, rows, columns, depth, and mode
|
|
|
|
0x03E9
|
|
|
|
|
|
|
|
1001
|
|
|
|
|
|
|
|
Macintosh print manager print info record
|
|
|
|
0x03EA
|
|
|
|
|
|
|
|
1002
|
|
|
|
|
|
|
|
Macintosh page format information. No longer read by Photoshop. /(Obsolete)/
|
|
|
|
0x03EB
|
|
|
|
|
|
|
|
1003
|
|
|
|
|
|
|
|
/(Obsolete--Photoshop 2.0 only/ ) Indexed color table
|
|
|
|
0x03ED
|
|
|
|
|
|
|
|
1005
|
|
|
|
|
|
|
|
/ResolutionInfo/ structure. See Appendix A in /Photoshop API Guide.pdf/.
|
|
|
|
0x03EE
|
|
|
|
|
|
|
|
1006
|
|
|
|
|
|
|
|
Names of the alpha channels as a series of Pascal strings.
|
|
|
|
0x03EF
|
|
|
|
|
|
|
|
1007
|
|
|
|
|
|
|
|
/(Obsolete) See ID 1077//DisplayInfo/ structure. See Appendix A in /
|
|
Photoshop API Guide.pdf/.
|
|
|
|
0x03F0
|
|
|
|
|
|
|
|
1008
|
|
|
|
|
|
|
|
The caption as a Pascal string.
|
|
|
|
0x03F1
|
|
|
|
|
|
|
|
1009
|
|
|
|
|
|
|
|
Border information. Contains a fixed number (2 bytes real, 2 bytes
|
|
fraction) for the border width, and 2 bytes for border units (1 =
|
|
inches, 2 = cm, 3 = points, 4 = picas, 5 = columns).
|
|
|
|
0x03F2
|
|
|
|
|
|
|
|
1010
|
|
|
|
|
|
|
|
Background color. See See Color structure <https://www.adobe.com/devnet-
|
|
apps/photoshop/fileformatashtml/PhotoshopFileFormats.htm#50577411_31265>.
|
|
|
|
0x03F3
|
|
|
|
|
|
|
|
1011
|
|
|
|
|
|
|
|
Print flags. A series of one-byte boolean values (see /Page Setup/
|
|
dialog): labels, crop marks, color bars, registration marks, negative,
|
|
flip, interpolate, caption, print flags.
|
|
|
|
0x03F4
|
|
|
|
|
|
|
|
1012
|
|
|
|
|
|
|
|
Grayscale and multichannel halftoning information
|
|
|
|
0x03F5
|
|
|
|
|
|
|
|
1013
|
|
|
|
|
|
|
|
Color halftoning information
|
|
|
|
0x03F6
|
|
|
|
|
|
|
|
1014
|
|
|
|
|
|
|
|
Duotone halftoning information
|
|
|
|
0x03F7
|
|
|
|
|
|
|
|
1015
|
|
|
|
|
|
|
|
Grayscale and multichannel transfer function
|
|
|
|
0x03F8
|
|
|
|
|
|
|
|
1016
|
|
|
|
|
|
|
|
Color transfer functions
|
|
|
|
0x03F9
|
|
|
|
|
|
|
|
1017
|
|
|
|
|
|
|
|
Duotone transfer functions
|
|
|
|
0x03FA
|
|
|
|
|
|
|
|
1018
|
|
|
|
|
|
|
|
Duotone image information
|
|
|
|
0x03FB
|
|
|
|
|
|
|
|
1019
|
|
|
|
|
|
|
|
Two bytes for the effective black and white values for the dot range
|
|
|
|
0x03FC
|
|
|
|
|
|
|
|
1020
|
|
|
|
|
|
|
|
/(Obsolete)/
|
|
|
|
0x03FD
|
|
|
|
|
|
|
|
1021
|
|
|
|
|
|
|
|
EPS options
|
|
|
|
0x03FE
|
|
|
|
|
|
|
|
1022
|
|
|
|
|
|
|
|
Quick Mask information. 2 bytes containing Quick Mask channel ID; 1-
|
|
byte boolean indicating whether the mask was initially empty.
|
|
|
|
0x03FF
|
|
|
|
|
|
|
|
1023
|
|
|
|
|
|
|
|
/(Obsolete)/
|
|
|
|
0x0400
|
|
|
|
|
|
|
|
1024
|
|
|
|
|
|
|
|
Layer state information. 2 bytes containing the index of target layer (0
|
|
= bottom layer).
|
|
|
|
0x0401
|
|
|
|
|
|
|
|
1025
|
|
|
|
|
|
|
|
Working path (not saved). See See Path resource format <https://
|
|
www.adobe.com/devnet-apps/photoshop/fileformatashtml/
|
|
PhotoshopFileFormats.htm#50577409_17587>.
|
|
|
|
0x0402
|
|
|
|
|
|
|
|
1026
|
|
|
|
|
|
|
|
Layers group information. 2 bytes per layer containing a group ID for
|
|
the dragging groups. Layers in a group have the same group ID.
|
|
|
|
0x0403
|
|
|
|
|
|
|
|
1027
|
|
|
|
|
|
|
|
/(Obsolete)/
|
|
|
|
0x0404
|
|
|
|
|
|
|
|
1028
|
|
|
|
|
|
|
|
IPTC-NAA record. Contains the /File Info.../ information. See the
|
|
documentation in the /IPTC / folder of the /Documentation/ folder.
|
|
|
|
0x0405
|
|
|
|
|
|
|
|
1029
|
|
|
|
|
|
|
|
Image mode for raw format files
|
|
|
|
0x0406
|
|
|
|
|
|
|
|
1030
|
|
|
|
|
|
|
|
JPEG quality. Private.
|
|
|
|
0x0408
|
|
|
|
|
|
|
|
1032
|
|
|
|
|
|
|
|
/(Photoshop 4.0) / Grid and guides information. See See Grid and guides
|
|
resource format <https://www.adobe.com/devnet-apps/photoshop/
|
|
fileformatashtml/PhotoshopFileFormats.htm#50577409_62190>.
|
|
|
|
0x0409
|
|
|
|
|
|
|
|
1033
|
|
|
|
|
|
|
|
/(Photoshop 4.0) / Thumbnail resource for Photoshop 4.0 only. See See
|
|
Thumbnail resource format <https://www.adobe.com/devnet-apps/photoshop/
|
|
fileformatashtml/PhotoshopFileFormats.htm#50577409_74450>.
|
|
|
|
0x040A
|
|
|
|
|
|
|
|
1034
|
|
|
|
|
|
|
|
/(Photoshop 4.0) /Copyright flag. Boolean indicating whether image is
|
|
copyrighted. Can be set via Property suite or by user in /File Info.../
|
|
|
|
0x040B
|
|
|
|
|
|
|
|
1035
|
|
|
|
|
|
|
|
/(Photoshop 4.0) / URL. Handle of a text string with uniform resource
|
|
locator. Can be set via Property suite or by user in /File Info.../
|
|
|
|
0x040C
|
|
|
|
|
|
|
|
1036
|
|
|
|
|
|
|
|
/(Photoshop 5.0) / Thumbnail resource (supersedes resource 1033). See
|
|
See Thumbnail resource format <https://www.adobe.com/devnet-apps/
|
|
photoshop/fileformatashtml/PhotoshopFileFormats.htm#50577409_74450>.
|
|
|
|
0x040D
|
|
|
|
|
|
|
|
1037
|
|
|
|
|
|
|
|
/(Photoshop 5.0) /Global Angle. 4 bytes that contain an integer between
|
|
0 and 359, which is the global lighting angle for effects layer. If not
|
|
present, assumed to be 30.
|
|
|
|
0x040E
|
|
|
|
|
|
|
|
1038
|
|
|
|
|
|
|
|
/(Obsolete) See ID 1073 below.//(Photoshop 5.0) /Color samplers
|
|
resource. See See Color samplers resource format <https://www.adobe.com/
|
|
devnet-apps/photoshop/fileformatashtml/
|
|
PhotoshopFileFormats.htm#50577409_13931>.
|
|
|
|
0x040F
|
|
|
|
|
|
|
|
1039
|
|
|
|
|
|
|
|
/(Photoshop 5.0) /ICC Profile. The raw bytes of an ICC (International
|
|
Color Consortium) format profile. See /ICC1v42_2006-05.pdf/ in the /
|
|
Documentation/ folder and /icProfileHeader.h/ in /Sample
|
|
Code\Common\Includes/ .//
|
|
|
|
0x0410
|
|
|
|
|
|
|
|
1040
|
|
|
|
|
|
|
|
/(Photoshop 5.0) /Watermark. One byte.
|
|
|
|
0x0411
|
|
|
|
|
|
|
|
1041
|
|
|
|
|
|
|
|
/(Photoshop 5.0) /ICC Untagged Profile. 1 byte that disables any assumed
|
|
profile handling when opening the file. 1 = intentionally untagged.
|
|
|
|
0x0412
|
|
|
|
|
|
|
|
1042
|
|
|
|
|
|
|
|
/(Photoshop 5.0) /Effects visible. 1-byte global flag to show/hide all
|
|
the effects layer. Only present when they are hidden.
|
|
|
|
0x0413
|
|
|
|
|
|
|
|
1043
|
|
|
|
|
|
|
|
/(Photoshop 5.0) / Spot Halftone. 4 bytes for version, 4 bytes for
|
|
length, and the variable length data.
|
|
|
|
0x0414
|
|
|
|
|
|
|
|
1044
|
|
|
|
|
|
|
|
/(Photoshop 5.0) / Document-specific IDs seed number. 4 bytes: Base
|
|
value, starting at which layer IDs will be generated (or a greater value
|
|
if existing IDs already exceed it). Its purpose is to avoid the case
|
|
where we add layers, flatten, save, open, and then add more layers that
|
|
end up with the same IDs as the first set.
|
|
|
|
0x0415
|
|
|
|
|
|
|
|
1045
|
|
|
|
|
|
|
|
/(Photoshop 5.0) / Unicode Alpha Names. Unicode string <https://
|
|
www.adobe.com/devnet-apps/photoshop/fileformatashtml/
|
|
PhotoshopFileFormats.htm#UnicodeStringDefine>
|
|
|
|
0x0416
|
|
|
|
|
|
|
|
1046
|
|
|
|
|
|
|
|
/(Photoshop 6.0)/ Indexed Color Table Count. 2 bytes for the number of
|
|
colors in table that are actually defined
|
|
|
|
0x0417
|
|
|
|
|
|
|
|
1047
|
|
|
|
|
|
|
|
/(Photoshop 6.0)/ Transparency Index. 2 bytes for the index of
|
|
transparent color, if any.
|
|
|
|
0x0419
|
|
|
|
|
|
|
|
1049
|
|
|
|
|
|
|
|
/(Photoshop 6.0)/ Global Altitude. 4 byte entry for altitude
|
|
|
|
0x041A
|
|
|
|
|
|
|
|
1050
|
|
|
|
|
|
|
|
/(Photoshop 6.0)/ Slices. See See Slices resource format <https://
|
|
www.adobe.com/devnet-apps/photoshop/fileformatashtml/
|
|
PhotoshopFileFormats.htm#50577409_19931>.
|
|
|
|
0x041B
|
|
|
|
|
|
|
|
1051
|
|
|
|
|
|
|
|
/(Photoshop 6.0)/ Workflow URL. Unicode string <https://www.adobe.com/
|
|
devnet-apps/photoshop/fileformatashtml/
|
|
PhotoshopFileFormats.htm#UnicodeStringDefine>
|
|
|
|
0x041C
|
|
|
|
|
|
|
|
1052
|
|
|
|
|
|
|
|
/(Photoshop 6.0)/ Jump To XPEP. 2 bytes major version, 2 bytes minor
|
|
version, 4 bytes count. Following is repeated for count: 4 bytes block
|
|
size, 4 bytes key, if key = /'jtDd'/ , then next is a Boolean for the
|
|
dirty flag; otherwise it's a 4 byte entry for the mod date.
|
|
|
|
0x041D
|
|
|
|
|
|
|
|
1053
|
|
|
|
|
|
|
|
/(Photoshop 6.0)/ Alpha Identifiers. 4 bytes of length, followed by 4
|
|
bytes each for every alpha identifier.
|
|
|
|
0x041E
|
|
|
|
|
|
|
|
1054
|
|
|
|
|
|
|
|
/(Photoshop 6.0)/ URL List. 4 byte count of URLs, followed by 4 byte
|
|
long, 4 byte ID, and Unicode string <https://www.adobe.com/devnet-apps/
|
|
photoshop/fileformatashtml/PhotoshopFileFormats.htm#UnicodeStringDefine>
|
|
for each count.
|
|
|
|
0x0421
|
|
|
|
|
|
|
|
1057
|
|
|
|
|
|
|
|
/(Photoshop 6.0)/ Version Info. 4 bytes version, 1 byte /
|
|
hasRealMergedData/ , Unicode string: <https://www.adobe.com/devnet-apps/
|
|
photoshop/fileformatashtml/PhotoshopFileFormats.htm#UnicodeStringDefine>
|
|
writer name, Unicode string: <https://www.adobe.com/devnet-apps/
|
|
photoshop/fileformatashtml/PhotoshopFileFormats.htm#UnicodeStringDefine>
|
|
reader name, 4 bytes file version.
|
|
|
|
0x0422
|
|
|
|
|
|
|
|
1058
|
|
|
|
|
|
|
|
/(Photoshop 7.0)/ EXIF data 1. See /http://www.kodak.com/global/plugins/
|
|
acrobat/en/service/digCam/exifStandard2.pdf <http://www.kodak.com/
|
|
global/plugins/acrobat/en/service/digCam/exifStandard2.pdf>/
|
|
|
|
0x0423
|
|
|
|
|
|
|
|
1059
|
|
|
|
|
|
|
|
/(Photoshop 7.0)/ EXIF data 3. See /http://www.kodak.com/global/plugins/
|
|
acrobat/en/service/digCam/exifStandard2.pdf <http://www.kodak.com/
|
|
global/plugins/acrobat/en/service/digCam/exifStandard2.pdf>/
|
|
|
|
0x0424
|
|
|
|
|
|
|
|
1060
|
|
|
|
|
|
|
|
/(Photoshop 7.0)/ XMP metadata. File info as XML description. See /
|
|
http://www.adobe.com/devnet/xmp/ <http://www.adobe.com/devnet/xmp/>/
|
|
|
|
0x0425
|
|
|
|
|
|
|
|
1061
|
|
|
|
|
|
|
|
/(Photoshop 7.0)/ Caption digest. 16 bytes: RSA Data Security, MD5
|
|
message-digest algorithm
|
|
|
|
0x0426
|
|
|
|
|
|
|
|
1062
|
|
|
|
|
|
|
|
/(Photoshop 7.0)/ Print scale. 2 bytes style (0 = centered, 1 = size to
|
|
fit, 2 = user defined). 4 bytes x location (floating point). 4 bytes y
|
|
location (floating point). 4 bytes scale (floating point)
|
|
|
|
0x0428
|
|
|
|
|
|
|
|
1064
|
|
|
|
|
|
|
|
/(Photoshop CS)/ Pixel Aspect Ratio. 4 bytes (version = 1 or 2), 8 bytes
|
|
double, x / y of a pixel. Version 2, attempting to correct values for
|
|
NTSC and PAL, previously off by a factor of approx. 5%.
|
|
|
|
0x0429
|
|
|
|
|
|
|
|
1065
|
|
|
|
|
|
|
|
/(Photoshop CS)/ Layer Comps. 4 bytes (descriptor version = 16),
|
|
Descriptor (see See Descriptor structure <https://www.adobe.com/devnet-
|
|
apps/photoshop/fileformatashtml/PhotoshopFileFormats.htm#50577411_21585>)
|
|
|
|
0x042A
|
|
|
|
|
|
|
|
1066
|
|
|
|
|
|
|
|
/(Photoshop CS)/ Alternate Duotone Colors. 2 bytes (version = 1), 2
|
|
bytes count, following is repeated for each count: [ Color: 2 bytes for
|
|
space followed by 4 * 2 byte color component ], following this is
|
|
another 2 byte count, usually 256, followed by Lab colors one byte each
|
|
for L, a, b. This resource is not read or used by Photoshop.
|
|
|
|
0x042B
|
|
|
|
|
|
|
|
1067
|
|
|
|
|
|
|
|
/(Photoshop CS)/Alternate Spot Colors. 2 bytes (version = 1), 2 bytes
|
|
channel count, following is repeated for each count: 4 bytes channel ID,
|
|
Color: 2 bytes for space followed by 4 * 2 byte color component. This
|
|
resource is not read or used by Photoshop.
|
|
|
|
0x042D
|
|
|
|
|
|
|
|
1069
|
|
|
|
|
|
|
|
/(Photoshop CS2)/ Layer Selection ID(s). 2 bytes count, following is
|
|
repeated for each count: 4 bytes layer ID
|
|
|
|
0x042E
|
|
|
|
|
|
|
|
1070
|
|
|
|
|
|
|
|
/(Photoshop CS2)/ HDR Toning information
|
|
|
|
0x042F
|
|
|
|
|
|
|
|
1071
|
|
|
|
|
|
|
|
/(Photoshop CS2)/ Print info
|
|
|
|
0x0430
|
|
|
|
|
|
|
|
1072
|
|
|
|
|
|
|
|
/(Photoshop CS2)/ Layer Group(s) Enabled ID. 1 byte for each layer in
|
|
the document, repeated by length of the resource. NOTE: Layer groups
|
|
have start and end markers
|
|
|
|
0x0431
|
|
|
|
|
|
|
|
1073
|
|
|
|
|
|
|
|
/(Photoshop CS3)/ Color samplers resource. Also see ID 1038 for old
|
|
format. See See Color samplers resource format <https://www.adobe.com/
|
|
devnet-apps/photoshop/fileformatashtml/
|
|
PhotoshopFileFormats.htm#50577409_13931>.
|
|
|
|
0x0432
|
|
|
|
|
|
|
|
1074
|
|
|
|
|
|
|
|
/(Photoshop CS3)/ Measurement Scale. 4 bytes (descriptor version = 16),
|
|
Descriptor (see See Descriptor structure <https://www.adobe.com/devnet-
|
|
apps/photoshop/fileformatashtml/PhotoshopFileFormats.htm#50577411_21585>)
|
|
|
|
0x0433
|
|
|
|
|
|
|
|
1075
|
|
|
|
|
|
|
|
/(Photoshop CS3)/ Timeline Information. 4 bytes (descriptor version =
|
|
16), Descriptor (see See Descriptor structure <https://www.adobe.com/
|
|
devnet-apps/photoshop/fileformatashtml/
|
|
PhotoshopFileFormats.htm#50577411_21585>)
|
|
|
|
0x0434
|
|
|
|
|
|
|
|
1076
|
|
|
|
|
|
|
|
/(Photoshop CS3)/ Sheet Disclosure. 4 bytes (descriptor version = 16),
|
|
Descriptor (see See Descriptor structure <https://www.adobe.com/devnet-
|
|
apps/photoshop/fileformatashtml/PhotoshopFileFormats.htm#50577411_21585>)
|
|
|
|
0x0435
|
|
|
|
|
|
|
|
1077
|
|
|
|
|
|
|
|
/(Photoshop CS3)//DisplayInfo/ structure to support floating point
|
|
clors. Also see ID 1007. See Appendix A in /Photoshop API Guide.pdf/ .
|
|
|
|
0x0436
|
|
|
|
|
|
|
|
1078
|
|
|
|
|
|
|
|
/(Photoshop CS3)/ Onion Skins. 4 bytes (descriptor version = 16),
|
|
Descriptor (see See Descriptor structure <https://www.adobe.com/devnet-
|
|
apps/photoshop/fileformatashtml/PhotoshopFileFormats.htm#50577411_21585>)
|
|
|
|
0x0438
|
|
|
|
|
|
|
|
1080
|
|
|
|
|
|
|
|
/(Photoshop CS4)/ Count Information. 4 bytes (descriptor version = 16),
|
|
Descriptor (see See Descriptor structure <https://www.adobe.com/devnet-
|
|
apps/photoshop/fileformatashtml/
|
|
PhotoshopFileFormats.htm#50577411_21585>) Information about the count in
|
|
the document. See the Count Tool.
|
|
|
|
0x043A
|
|
|
|
|
|
|
|
1082
|
|
|
|
|
|
|
|
/(Photoshop CS5)/ Print Information. 4 bytes (descriptor version = 16),
|
|
Descriptor (see See Descriptor structure <https://www.adobe.com/devnet-
|
|
apps/photoshop/fileformatashtml/
|
|
PhotoshopFileFormats.htm#50577411_21585>) Information about the current
|
|
print settings in the document. The color management options.
|
|
|
|
0x043B
|
|
|
|
|
|
|
|
1083
|
|
|
|
|
|
|
|
/(Photoshop CS5)/ Print Style. 4 bytes (descriptor version = 16),
|
|
Descriptor (see See Descriptor structure <https://www.adobe.com/devnet-
|
|
apps/photoshop/fileformatashtml/
|
|
PhotoshopFileFormats.htm#50577411_21585>) Information about the current
|
|
print style in the document. The printing marks, labels, ornaments, etc.
|
|
|
|
0x043C
|
|
|
|
|
|
|
|
1084
|
|
|
|
|
|
|
|
/(Photoshop CS5)/ Macintosh NSPrintInfo. Variable OS specific info for
|
|
Macintosh. NSPrintInfo. It is recommened that you do not interpret or
|
|
use this data.
|
|
|
|
0x043D
|
|
|
|
|
|
|
|
1085
|
|
|
|
|
|
|
|
/(Photoshop CS5)/ Windows DEVMODE. Variable OS specific info for
|
|
Windows. DEVMODE. It is recommened that you do not interpret or use this
|
|
data.
|
|
|
|
0x043E
|
|
|
|
|
|
|
|
1086
|
|
|
|
|
|
|
|
/(Photoshop CS6)/ Auto Save File Path. Unicode string. <https://
|
|
www.adobe.com/devnet-apps/photoshop/fileformatashtml/
|
|
PhotoshopFileFormats.htm#UnicodeStringDefine> It is recommened that you
|
|
do not interpret or use this data.
|
|
|
|
0x043F
|
|
|
|
|
|
|
|
1087
|
|
|
|
|
|
|
|
/(Photoshop CS6)/ Auto Save Format. Unicode string. <https://
|
|
www.adobe.com/devnet-apps/photoshop/fileformatashtml/
|
|
PhotoshopFileFormats.htm#UnicodeStringDefine> It is recommened that you
|
|
do not interpret or use this data.
|
|
|
|
0x0440
|
|
|
|
|
|
|
|
1088
|
|
|
|
|
|
|
|
/(Photoshop CC)/ Path Selection State. 4 bytes (descriptor version =
|
|
16), Descriptor (see See Descriptor structure <https://www.adobe.com/
|
|
devnet-apps/photoshop/fileformatashtml/
|
|
PhotoshopFileFormats.htm#50577411_21585>) Information about the current
|
|
path selection state.
|
|
|
|
0x07D0-0x0BB6
|
|
|
|
|
|
|
|
2000-2997
|
|
|
|
|
|
|
|
Path Information (saved paths). See See Path resource format <https://
|
|
www.adobe.com/devnet-apps/photoshop/fileformatashtml/
|
|
PhotoshopFileFormats.htm#50577409_17587>.
|
|
|
|
0x0BB7
|
|
|
|
|
|
|
|
2999
|
|
|
|
|
|
|
|
Name of clipping path. See See Path resource format <https://
|
|
www.adobe.com/devnet-apps/photoshop/fileformatashtml/
|
|
PhotoshopFileFormats.htm#50577409_17587>.
|
|
|
|
0x0BB8
|
|
|
|
|
|
|
|
3000
|
|
|
|
|
|
|
|
/(Photoshop CC)/ Origin Path Info. 4 bytes (descriptor version = 16),
|
|
Descriptor (see See Descriptor structure <https://www.adobe.com/devnet-
|
|
apps/photoshop/fileformatashtml/
|
|
PhotoshopFileFormats.htm#50577411_21585>) Information about the origin
|
|
path data.
|
|
|
|
0x0FA0-0x1387
|
|
|
|
|
|
|
|
4000-4999
|
|
|
|
|
|
|
|
Plug-In resource(s). Resources added by a plug-in. See the plug-in API
|
|
found in the SDK documentation
|
|
|
|
0x1B58
|
|
|
|
|
|
|
|
7000
|
|
|
|
|
|
|
|
Image Ready variables. XML representation of variables definition
|
|
|
|
0x1B59
|
|
|
|
|
|
|
|
7001
|
|
|
|
|
|
|
|
Image Ready data sets
|
|
|
|
0x1B5A
|
|
|
|
|
|
|
|
7002
|
|
|
|
|
|
|
|
Image Ready default selected state
|
|
|
|
0x1B5B
|
|
|
|
|
|
|
|
7003
|
|
|
|
|
|
|
|
Image Ready 7 rollover expanded state
|
|
|
|
0x1B5C
|
|
|
|
|
|
|
|
7004
|
|
|
|
|
|
|
|
Image Ready rollover expanded state
|
|
|
|
0x1B5D
|
|
|
|
|
|
|
|
7005
|
|
|
|
|
|
|
|
Image Ready save layer settings
|
|
|
|
0x1B5E
|
|
|
|
|
|
|
|
7006
|
|
|
|
|
|
|
|
Image Ready version
|
|
|
|
0x1F40
|
|
|
|
|
|
|
|
8000
|
|
|
|
|
|
|
|
/(Photoshop CS3)/ Lightroom workflow, if present the document is in the
|
|
middle of a Lightroom workflow.
|
|
|
|
0x2710
|
|
|
|
|
|
|
|
10000
|
|
|
|
|
|
|
|
Print flags information. 2 bytes version ( = 1), 1 byte center crop
|
|
marks, 1 byte ( = 0), 4 bytes bleed width value, 2 bytes bleed width scale.
|
|
|
|
The following sections describe some of the resource formats in more detail.
|
|
|
|
Grid and guides resource format
|
|
|
|
Photoshop stores grid and guides information for an image in an image
|
|
resource block. Each of these resource blocks consists of an initial 16-
|
|
byte grid and guide header, which is always present, followed by 5-byte
|
|
blocks of specific guide information for guide direction and location,
|
|
which are present if there are guides (/fGuideCount/ > 0) .
|
|
|
|
/Grid and guide header
|
|
|
|
/
|
|
|
|
Length
|
|
|
|
|
|
|
|
Description
|
|
|
|
4
|
|
|
|
|
|
|
|
Version ( = 1)
|
|
|
|
8
|
|
|
|
|
|
|
|
Future implementation of document-specific grids (4 bytes horizontal, 4
|
|
bytes vertical). Currently, sets the grid cycle to every quarter inch,
|
|
i.e. 576 for both horizontal & vertical (at 72 dpi, that is 18 * 32 = 576)
|
|
|
|
4
|
|
|
|
|
|
|
|
/fGuideCount/ : Number of guide resource blocks (can be 0).
|
|
|
|
|
|
|
|
|
|
/Guide resource block
|
|
|
|
/
|
|
|
|
Length
|
|
|
|
|
|
|
|
Description
|
|
|
|
4
|
|
|
|
|
|
|
|
Location of guide in document coordinates. Since the guide is either
|
|
vertical or horizontal, this only has to be one component of the coordinate.
|
|
|
|
1
|
|
|
|
|
|
|
|
Direction of guide. VHSelect is a system type of /unsigned char/ where 0
|
|
= vertical, 1 = horizontal.
|
|
|
|
Grid and guide information may be modified using the Property suite. See
|
|
the Callbacks chapter in /Photoshop API Guide.pdf/ for more information.
|
|
|
|
Thumbnail resource format
|
|
|
|
Adobe Photoshop (version 5.0 and later) stores thumbnail information for
|
|
preview display in an image resource block that consists of an initial
|
|
28-byte header, followed by a JFIF thumbnail in RGB (red, green, blue)
|
|
order for both Macintosh and Windows.
|
|
|
|
Adobe Photoshop 4.0 stored the thumbnail information in the same format
|
|
except the data section is BGR (blue, green, red). The 4.0 format is at
|
|
resource ID 1033 and the 5.0 format is at resource ID 1036.
|
|
|
|
/Thumbnail resource header
|
|
|
|
/
|
|
|
|
Length
|
|
|
|
|
|
|
|
Description
|
|
|
|
4
|
|
|
|
|
|
|
|
Format. 1 = kJpegRGB . Also supports kRawRGB (0).
|
|
|
|
4
|
|
|
|
|
|
|
|
Width of thumbnail in pixels.
|
|
|
|
4
|
|
|
|
|
|
|
|
Height of thumbnail in pixels.
|
|
|
|
4
|
|
|
|
|
|
|
|
Widthbytes: Padded row bytes = (width * bits per pixel + 31) / 32 * 4.
|
|
|
|
4
|
|
|
|
|
|
|
|
Total size = widthbytes * height * planes
|
|
|
|
4
|
|
|
|
|
|
|
|
Size after compression. Used for consistency check.
|
|
|
|
2
|
|
|
|
|
|
|
|
Bits per pixel. = 24
|
|
|
|
2
|
|
|
|
|
|
|
|
Number of planes. = 1
|
|
|
|
Variable
|
|
|
|
|
|
|
|
JFIF data in RGB format.
|
|
|
|
For resource ID 1033 the data is in BGR format.
|
|
|
|
Color samplers resource format
|
|
|
|
Adobe Photoshop (version 5.0 and later) stores color samplers
|
|
information for an image in an image resource block that consists of an
|
|
initial 8-byte color samplers header followed by a variable length block
|
|
of specific color samplers information.
|
|
|
|
/Color Samplers header
|
|
|
|
/
|
|
|
|
Length
|
|
|
|
|
|
|
|
Description
|
|
|
|
4
|
|
|
|
|
|
|
|
Version ( = 1, 2 or 3)
|
|
|
|
4
|
|
|
|
|
|
|
|
Number of color samplers to follow. See See Color Samplers resource
|
|
block <https://www.adobe.com/devnet-apps/photoshop/fileformatashtml/
|
|
PhotoshopFileFormats.htm#50577409_20023>.
|
|
|
|
|
|
|
|
|
|
/Color Samplers resource block
|
|
|
|
/
|
|
|
|
Length
|
|
|
|
|
|
|
|
Description
|
|
|
|
4
|
|
|
|
|
|
|
|
Version of color samplers, 1 for version 3. ( Version 3 only ) .
|
|
|
|
8
|
|
|
|
|
|
|
|
The horizontal and vertical position of the point (4 bytes each).
|
|
Version 1 is a fixed value. Version 2 is a float value.
|
|
|
|
2
|
|
|
|
|
|
|
|
Color Space: enum { colorCodeDummy = -1, RGB, HSB, CMYK, Pantone,
|
|
Focoltone, Trumatch, Toyo, Lab, Gray, WideCMYK, HKS, DIC, TotalInk,
|
|
MonitorRGB, Duotone, Opacity, Web, GrayFloat, RGBFloat, OpacityFloat};
|
|
|
|
2
|
|
|
|
|
|
|
|
Depth ( Version 2 only )
|
|
|
|
Path resource format
|
|
|
|
Photoshop stores the paths saved with an image in an image resource
|
|
block. These resource blocks consist of a series of 26-byte path point
|
|
records, so the resource length should always be a multiple of 26.
|
|
|
|
Photoshop stores its paths as resources of type /8BIM/ , with IDs in the
|
|
range 2000 through 2997. These numbers should be reserved for Photoshop.
|
|
The name of the resource is the name given to the path when it was saved.
|
|
|
|
If the file contains a resource of type /8BIM/ with an ID of 2999, then
|
|
this resource contains a Pascal-style string containing the name of the
|
|
clipping path to use with this image when saving it as an EPS file. 4
|
|
byte fixed value for flatness and 2 byte fill rule. 0 = same fill rule,
|
|
1 = even odd fill rule, 2 = non zero winding fill rule. The fill rule is
|
|
ignored by Photoshop.
|
|
|
|
The path format returned by /GetProperty()/ call is identical to what is
|
|
described below. Refer to the /IllustratorExport/ sample plug-in code to
|
|
see how this resource data is constructed.
|
|
|
|
Path points
|
|
|
|
All points used in defining a path are stored in eight bytes as a pair
|
|
of 32-bit components, vertical component first.
|
|
|
|
The two components are signed, fixed point numbers with 8 bits before
|
|
the binary point and 24 bits after the binary point. Three guard bits
|
|
are reserved in the points to eliminate most concerns over arithmetic
|
|
overflow. Hence, the range for each component is /0xF0000000/
|
|
to /0x0FFFFFFF/ representing a range of -16 to 16. The lower bound is
|
|
included, but not the upper bound.
|
|
|
|
This limited range is used because the points are expressed relative to
|
|
the image size. The vertical component is given with respect to the
|
|
image height, and the horizontal component is given with respect to the
|
|
image width. [/0,0/ ] represents the top-left corner of the image;
|
|
[/1,1/ ] ([/0x01000000,0x01000000/ ]) represents the bottom-right.
|
|
|
|
In Windows, the byte order of the path point components are reversed;
|
|
you should swap the bytes when accessing each 32-bit value.
|
|
|
|
Path records
|
|
|
|
The data in a path resource consists of one or more 26-byte records. The
|
|
first two bytes of each record is a selector to indicate what kind of
|
|
path it is. For Windows, you should swap the bytes before accessing it
|
|
as a short.
|
|
|
|
/Path data record types
|
|
|
|
/
|
|
|
|
Selector
|
|
|
|
|
|
|
|
Description
|
|
|
|
0
|
|
|
|
|
|
|
|
Closed subpath length record
|
|
|
|
1
|
|
|
|
|
|
|
|
Closed subpath Bezier knot, linked
|
|
|
|
2
|
|
|
|
|
|
|
|
Closed subpath Bezier knot, unlinked
|
|
|
|
3
|
|
|
|
|
|
|
|
Open subpath length record
|
|
|
|
4
|
|
|
|
|
|
|
|
Open subpath Bezier knot, linked
|
|
|
|
5
|
|
|
|
|
|
|
|
Open subpath Bezier knot, unlinked
|
|
|
|
6
|
|
|
|
|
|
|
|
Path fill rule record
|
|
|
|
7
|
|
|
|
|
|
|
|
Clipboard record
|
|
|
|
8
|
|
|
|
|
|
|
|
Initial fill rule record
|
|
|
|
The first 26-byte path record contains a selector value of 6, path fill
|
|
rule record. The remaining 24 bytes of the first record are zeroes.
|
|
Paths use even/odd ruling. Subpath length records, selector value 0 or
|
|
3, contain the number of Bezier knot records in bytes 2 and 3. The
|
|
remaining 22 bytes are unused, and should be zeroes. Each length record
|
|
is then immediately followed by the Bezier knot records describing the
|
|
knots of the subpath.
|
|
|
|
In Bezier knot records, the 24 bytes following the selector field
|
|
contain three path points (described above) for:
|
|
|
|
the control point for the Bezier segment preceding the knot,
|
|
|
|
the anchor point for the knot, and
|
|
|
|
the control point for the Bezier segment leaving the knot.
|
|
|
|
Linked knots have their control points linked. Editing one point
|
|
modifies the other to preserve collinearity. Knots should only be marked
|
|
as having linked controls if their control points are collinear with
|
|
their anchor. The control points on unlinked knots are independent of
|
|
each other. Refer to the /Adobe Photoshop User Guide/ for more information.
|
|
|
|
Clipboard records, /selector=7/ , contain four fixed-point numbers for
|
|
the bounding rectangle (top, left, bottom, right), and a single fixed-
|
|
point number indicating the resolution.
|
|
|
|
Initial fill records, /selector=8/ , contain one two byte record. A
|
|
value of 1 means that the fill starts with all pixels. The value will be
|
|
either 0 or 1.
|
|
|
|
Slices resource format
|
|
|
|
Adobe Photoshop 6.0 stores slices information for an image in an image
|
|
resource block.
|
|
|
|
Adobe Photoshop 7.0 added a descriptor at the end of the block for the
|
|
individual slice info.
|
|
|
|
Adobe Photoshop CS and later changed to version 7 or 8 and uses a
|
|
Descriptor to defined the Slices data.
|
|
|
|
/Slices header for version 7 or 8
|
|
|
|
/
|
|
|
|
Length
|
|
|
|
|
|
|
|
Description
|
|
|
|
4
|
|
|
|
|
|
|
|
Version ( = 7 and 8)
|
|
|
|
4
|
|
|
|
|
|
|
|
Descriptor version ( = 16 for Photoshop 6.0).
|
|
|
|
Variable
|
|
|
|
|
|
|
|
Descriptor (see See Descriptor structure <https://www.adobe.com/devnet-
|
|
apps/photoshop/fileformatashtml/PhotoshopFileFormats.htm#50577411_21585>)
|
|
|
|
/Slices header for version 6
|
|
|
|
/
|
|
|
|
Length
|
|
|
|
|
|
|
|
Description
|
|
|
|
4
|
|
|
|
|
|
|
|
Version ( = 6)
|
|
|
|
4 * 4
|
|
|
|
|
|
|
|
Bounding rectangle for all of the slices: top, left, bottom, right of
|
|
all the slices
|
|
|
|
Variable
|
|
|
|
|
|
|
|
Name of group of slices: Unicode string <https://www.adobe.com/devnet-
|
|
apps/photoshop/fileformatashtml/
|
|
PhotoshopFileFormats.htm#UnicodeStringDefine>
|
|
|
|
4
|
|
|
|
|
|
|
|
Number of slices to follow. See Slices resource block in the next table.
|
|
|
|
|
|
|
|
|
|
/Slices resource block
|
|
|
|
/
|
|
|
|
Length
|
|
|
|
|
|
|
|
Description
|
|
|
|
4
|
|
|
|
|
|
|
|
ID
|
|
|
|
4
|
|
|
|
|
|
|
|
Group ID
|
|
|
|
4
|
|
|
|
|
|
|
|
Origin
|
|
|
|
4
|
|
|
|
|
|
|
|
Associated Layer ID
|
|
|
|
Only present if Origin = 1
|
|
|
|
Variable
|
|
|
|
|
|
|
|
Name: Unicode string <https://www.adobe.com/devnet-apps/photoshop/
|
|
fileformatashtml/PhotoshopFileFormats.htm#UnicodeStringDefine>//
|
|
|
|
4
|
|
|
|
|
|
|
|
Type
|
|
|
|
4 * 4
|
|
|
|
|
|
|
|
Left, top, right, bottom positions
|
|
|
|
Variable
|
|
|
|
|
|
|
|
URL: Unicode string <https://www.adobe.com/devnet-apps/photoshop/
|
|
fileformatashtml/PhotoshopFileFormats.htm#UnicodeStringDefine>
|
|
|
|
Variable
|
|
|
|
|
|
|
|
Target: Unicode string <https://www.adobe.com/devnet-apps/photoshop/
|
|
fileformatashtml/PhotoshopFileFormats.htm#UnicodeStringDefine>
|
|
|
|
Variable
|
|
|
|
|
|
|
|
Message: Unicode string <https://www.adobe.com/devnet-apps/photoshop/
|
|
fileformatashtml/PhotoshopFileFormats.htm#UnicodeStringDefine>
|
|
|
|
Variable
|
|
|
|
|
|
|
|
Alt Tag: Unicode string <https://www.adobe.com/devnet-apps/photoshop/
|
|
fileformatashtml/PhotoshopFileFormats.htm#UnicodeStringDefine>
|
|
|
|
1
|
|
|
|
|
|
|
|
Cell text is HTML: Boolean
|
|
|
|
Variable
|
|
|
|
|
|
|
|
Cell text: Unicode string <https://www.adobe.com/devnet-apps/photoshop/
|
|
fileformatashtml/PhotoshopFileFormats.htm#UnicodeStringDefine>
|
|
|
|
4
|
|
|
|
|
|
|
|
Horizontal alignment
|
|
|
|
4
|
|
|
|
|
|
|
|
Vertical alignment
|
|
|
|
1
|
|
|
|
|
|
|
|
Alpha color
|
|
|
|
1
|
|
|
|
|
|
|
|
Red
|
|
|
|
1
|
|
|
|
|
|
|
|
Green
|
|
|
|
1
|
|
|
|
|
|
|
|
Blue
|
|
|
|
Additional data as length allows. See comment above.
|
|
|
|
4
|
|
|
|
|
|
|
|
Descriptor version ( = 16 for Photoshop 6.0).
|
|
|
|
Variable
|
|
|
|
|
|
|
|
Descriptor (see See Descriptor structure <https://www.adobe.com/devnet-
|
|
apps/photoshop/fileformatashtml/PhotoshopFileFormats.htm#50577411_21585>)
|
|
|
|
|
|
|
|
Vanishing point resource format
|
|
|
|
Adobe Photoshop CS2 (9.0) and later stores vanishing point information
|
|
for an image in an image resource block. The entire resource is a string
|
|
with an id of 'tnaF' on Windows and 'FaNt' on the Macintosh. The
|
|
structure of the resource is as follows:
|
|
|
|
Vocabulary:
|
|
|
|
Relation - a set of related planes.
|
|
|
|
Root Plane - the first plane in a relation.
|
|
|
|
Calibration Order - an ordering of the planes in a relation starting
|
|
with the root plane, depth first, recursive traversal of the planes that
|
|
are attached to the given plane.
|
|
|
|
Basics:
|
|
|
|
A planes area is represented as a clipped area of vanish rays. A Ray
|
|
defines one of the virtual sides of the plane's area. A Ray's structure
|
|
keeps track of information needed for tearing off and orientation
|
|
issues. Parallel rays must point at the same VPID. A Primary ray's
|
|
origin represents the point on the plane that is farthest from both VPs.
|
|
The two primary rays share an origin.
|
|
|
|
version = 101
|
|
|
|
number of relations to follow.
|
|
|
|
-- for each relation--
|
|
|
|
grid resolution for the root plane
|
|
|
|
number of planes to follow
|
|
|
|
-- for each plane in calibration order--
|
|
|
|
ID of the plane
|
|
|
|
ID of the plane that calibrates this plane 0 if none
|
|
|
|
-- for 4 rays --
|
|
|
|
origin position of the ray. Point
|
|
|
|
VP location - must be consistent across all planes in the relation
|
|
unless it is an endpoint. Point
|
|
|
|
true if the VP location is an endpoint
|
|
|
|
ID that this ray points at.
|
|
|
|
Ray DI (see below)
|
|
|
|
|
|
|
|
|
|
|
|
++++++++++++++++++++
|
|
|
|
I/O appendix
|
|
|
|
Point - two doubles; h endl, v endl
|
|
|
|
VPID - int (enum value) 0,1,2 identifing 1 of 3 possible VPs
|
|
|
|
RayID - 1, One of the primary rays directly connected to the shared origin
|
|
|
|
3, a non-primary ray parallel to 7
|
|
|
|
5, a non-primary ray parallel to 1
|
|
|
|
7, One of the primary rays directly connected to the shared origin .
|
|
|
|
|
|
Layer and Mask Information Section
|
|
|
|
The fourth section of a Photoshop file contains information about layers
|
|
and masks. This section of the document describes the formats of layer
|
|
and mask records.
|
|
|
|
The complete merged image data is not stored here. The complete merged/
|
|
composite image resides in the last section of the file. See See Image
|
|
Data Section <https://www.adobe.com/devnet-apps/photoshop/
|
|
fileformatashtml/PhotoshopFileFormats.htm#50577409_89817>. If maximize
|
|
compatibility is unchecked then the merged/composite is not created and
|
|
the layer data must be read to reproduce the final image.
|
|
|
|
See Layer and mask information section <https://www.adobe.com/devnet-
|
|
apps/photoshop/fileformatashtml/PhotoshopFileFormats.htm#50577409_21849>
|
|
shows the overall structure of this section. If there are no layers or
|
|
masks, this section is just 4 bytes: the length field, which is set to
|
|
zero. (**PSB** length is 8 bytes
|
|
|
|
'Layr', 'Lr16' and 'Lr32' start at See Layer info <https://
|
|
www.adobe.com/devnet-apps/photoshop/fileformatashtml/
|
|
PhotoshopFileFormats.htm#50577409_16000>. NOTE: The length of the
|
|
section may already be known.)
|
|
|
|
When parsing this section pay close attention to the length of sections.
|
|
|
|
/Layer and mask information section
|
|
|
|
/
|
|
|
|
Length
|
|
|
|
|
|
|
|
Description
|
|
|
|
4
|
|
|
|
|
|
|
|
Length of the layer and mask information section. (**PSB** length is 8
|
|
bytes.)
|
|
|
|
Variable
|
|
|
|
|
|
|
|
Layer info (see See Layer info <https://www.adobe.com/devnet-apps/
|
|
photoshop/fileformatashtml/PhotoshopFileFormats.htm#50577409_16000> for
|
|
details).
|
|
|
|
Variable
|
|
|
|
|
|
|
|
Global layer mask info (see See Global layer mask info <https://
|
|
www.adobe.com/devnet-apps/photoshop/fileformatashtml/
|
|
PhotoshopFileFormats.htm#50577409_17115> for details).
|
|
|
|
Variable
|
|
|
|
|
|
|
|
/(Photoshop 4.0 and later)/
|
|
|
|
Series of tagged blocks containing various types of data. See /See
|
|
Additional Layer Information <https://www.adobe.com/devnet-apps/
|
|
photoshop/fileformatashtml/PhotoshopFileFormats.htm#50577409_71546>/ //
|
|
for the list of the types of data that can be included here.
|
|
|
|
See Layer info <https://www.adobe.com/devnet-apps/photoshop/
|
|
fileformatashtml/PhotoshopFileFormats.htm#50577409_16000> shows the
|
|
high-level organization of the layer information.
|
|
|
|
/Layer info
|
|
|
|
/
|
|
|
|
Length
|
|
|
|
|
|
|
|
Description
|
|
|
|
4
|
|
|
|
|
|
|
|
Length of the layers info section, rounded up to a multiple of 2.
|
|
(**PSB** length is 8 bytes.)
|
|
|
|
2
|
|
|
|
|
|
|
|
Layer count. If it is a negative number, its absolute value is the
|
|
number of layers and the first alpha channel contains the transparency
|
|
data for the merged result.
|
|
|
|
Variable
|
|
|
|
|
|
|
|
Information about each layer. See Layer records <https://www.adobe.com/
|
|
devnet-apps/photoshop/fileformatashtml/
|
|
PhotoshopFileFormats.htm#50577409_13084> describes the structure of this
|
|
information for each layer.
|
|
|
|
Variable
|
|
|
|
|
|
|
|
Channel image data. Contains one or more image data records (see See
|
|
Channel image data <https://www.adobe.com/devnet-apps/photoshop/
|
|
fileformatashtml/PhotoshopFileFormats.htm#50577409_26431> for structure)
|
|
for each layer. The layers are in the same order as in the layer
|
|
information (previous row of this table).
|
|
|
|
|
|
|
|
|
|
/Layer records
|
|
|
|
/
|
|
|
|
Length
|
|
|
|
|
|
|
|
Description
|
|
|
|
4 * 4
|
|
|
|
|
|
|
|
Rectangle containing the contents of the layer. Specified as top, left,
|
|
bottom, right coordinates
|
|
|
|
2
|
|
|
|
|
|
|
|
Number of channels in the layer
|
|
|
|
6 *
|
|
|
|
number of channels
|
|
|
|
|
|
|
|
Channel information. Six bytes per channel, consisting of:
|
|
|
|
2 bytes for Channel ID: 0 = red, 1 = green, etc.;
|
|
|
|
-1 = transparency mask; -2 = user supplied layer mask, -3 real user
|
|
supplied layer mask (when both a user mask and a vector mask are present)
|
|
|
|
4 bytes for length of corresponding channel data. (**PSB** 8 bytes for
|
|
length of corresponding channel data.) See /See Channel image data
|
|
<https://www.adobe.com/devnet-apps/photoshop/fileformatashtml/
|
|
PhotoshopFileFormats.htm#50577409_26431>/ for structure of channel data.//
|
|
|
|
4
|
|
|
|
|
|
|
|
Blend mode signature: /'8BIM'/
|
|
|
|
4
|
|
|
|
|
|
|
|
Blend mode key:
|
|
|
|
'pass' = pass through, 'norm' = normal, 'diss' = dissolve, 'dark' =
|
|
darken, 'mul ' = multiply, 'idiv' = color burn, 'lbrn' = linear burn,
|
|
'dkCl' = darker color, 'lite' = lighten, 'scrn' = screen, 'div ' = color
|
|
dodge, 'lddg' = linear dodge, 'lgCl' = lighter color, 'over' = overlay,
|
|
'sLit' = soft light, 'hLit' = hard light, 'vLit' = vivid light, 'lLit' =
|
|
linear light, 'pLit' = pin light, 'hMix' = hard mix, 'diff' =
|
|
difference, 'smud' = exclusion, 'fsub' = subtract, 'fdiv' = divide 'hue
|
|
' = hue, 'sat ' = saturation, 'colr' = color, 'lum ' = luminosity,
|
|
|
|
1
|
|
|
|
|
|
|
|
Opacity. 0 = transparent ... 255 = opaque
|
|
|
|
1
|
|
|
|
|
|
|
|
Clipping: 0 = base, 1 = non-base
|
|
|
|
1
|
|
|
|
|
|
|
|
Flags:
|
|
bit 0 = transparency protected;
|
|
bit 1 = visible;
|
|
bit 2 = obsolete;
|
|
bit 3 = 1 for Photoshop 5.0 and later, tells if bit 4 has useful
|
|
information;
|
|
bit 4 = pixel data irrelevant to appearance of document
|
|
|
|
1
|
|
|
|
|
|
|
|
Filler (zero)
|
|
|
|
4
|
|
|
|
|
|
|
|
Length of the extra data field ( = the total length of the next five
|
|
fields).
|
|
|
|
Variable
|
|
|
|
|
|
|
|
Layer mask data: See See Layer mask / adjustment layer data <https://
|
|
www.adobe.com/devnet-apps/photoshop/fileformatashtml/
|
|
PhotoshopFileFormats.htm#50577409_22582> for structure. Can be 40 bytes,
|
|
24 bytes, or 4 bytes if no layer mask.
|
|
|
|
Variable
|
|
|
|
|
|
|
|
Layer blending ranges: See See Layer blending ranges data <https://
|
|
www.adobe.com/devnet-apps/photoshop/fileformatashtml/
|
|
PhotoshopFileFormats.htm#50577409_21332>.
|
|
|
|
Variable
|
|
|
|
|
|
|
|
Layer name: Pascal string, padded to a multiple of 4 bytes.
|
|
|
|
/Layer mask / adjustment layer data
|
|
|
|
/
|
|
|
|
Length
|
|
|
|
|
|
|
|
Name
|
|
|
|
4
|
|
|
|
|
|
|
|
Size of the data: Check the size and flags to determine what is or is
|
|
not present. If zero, the following fields are not present
|
|
|
|
4 * 4
|
|
|
|
|
|
|
|
Rectangle enclosing layer mask: Top, left, bottom, right
|
|
|
|
1
|
|
|
|
|
|
|
|
Default color. 0 or 255
|
|
|
|
1
|
|
|
|
|
|
|
|
Flags.
|
|
|
|
bit 0 = position relative to layer
|
|
bit 1 = layer mask disabled
|
|
bit 2 = invert layer mask when blending (Obsolete)
|
|
bit 3 = indicates that the user mask actually came from rendering other data
|
|
bit 4 = indicates that the user and/or vector masks have parameters
|
|
applied to them
|
|
|
|
1
|
|
|
|
|
|
|
|
Mask Parameters. Only present if bit 4 of Flags set above.
|
|
|
|
Variable
|
|
|
|
|
|
|
|
Mask Parameters bit flags present as follows:
|
|
bit 0 = user mask density, 1 byte
|
|
bit 1 = user mask feather, 8 byte, double
|
|
bit 2 = vector mask density, 1 byte
|
|
bit 3 = vector mask feather, 8 bytes, double
|
|
|
|
2
|
|
|
|
|
|
|
|
Padding. Only present if size = 20. Otherwise the following is present
|
|
|
|
1
|
|
|
|
|
|
|
|
Real Flags. Same as Flags information above.
|
|
|
|
1
|
|
|
|
|
|
|
|
Real user mask background. 0 or 255.
|
|
|
|
4 * 4
|
|
|
|
|
|
|
|
Rectangle enclosing layer mask: Top, left, bottom, right.
|
|
|
|
/Layer blending ranges data
|
|
|
|
/
|
|
|
|
Length
|
|
|
|
|
|
|
|
Name
|
|
|
|
4
|
|
|
|
|
|
|
|
Length of layer blending ranges data
|
|
|
|
4
|
|
|
|
|
|
|
|
Composite gray blend source. Contains 2 black values followed by 2 white
|
|
values. Present but irrelevant for Lab & Grayscale.
|
|
|
|
4
|
|
|
|
|
|
|
|
Composite gray blend destination range
|
|
|
|
4
|
|
|
|
|
|
|
|
First channel source range
|
|
|
|
4
|
|
|
|
|
|
|
|
First channel destination range
|
|
|
|
4
|
|
|
|
|
|
|
|
Second channel source range
|
|
|
|
4
|
|
|
|
|
|
|
|
Second channel destination range
|
|
|
|
...
|
|
|
|
|
|
|
|
...
|
|
|
|
4
|
|
|
|
|
|
|
|
Nth channel source range
|
|
|
|
4
|
|
|
|
|
|
|
|
Nth channel destination range
|
|
|
|
/Channel image data
|
|
|
|
/
|
|
|
|
Length
|
|
|
|
|
|
|
|
Description
|
|
|
|
2
|
|
|
|
|
|
|
|
Compression. 0 = Raw Data, 1 = RLE compressed, 2 = ZIP without
|
|
prediction, 3 = ZIP with prediction.
|
|
|
|
Variable
|
|
|
|
|
|
|
|
Image data.
|
|
|
|
If the compression code is 0, the image data is just the raw image data,
|
|
whose size is calculated as /(LayerBottom-LayerTop)* (LayerRight-
|
|
LayerLeft)/ (from the first field in See Layer records <https://
|
|
www.adobe.com/devnet-apps/photoshop/fileformatashtml/
|
|
PhotoshopFileFormats.htm#50577409_13084>).
|
|
|
|
If the compression code is 1, the image data starts with the byte counts
|
|
for all the scan lines in the channel /(LayerBottom-LayerTop)/ , with
|
|
each count stored as a two-byte value.(**PSB** each count stored as a
|
|
four-byte value.) The RLE compressed data follows, with each scan line
|
|
compressed separately. The RLE compression is the same compression
|
|
algorithm used by the Macintosh ROM routine PackBits, and the TIFF standard.
|
|
|
|
If the layer's size, and therefore the data, is odd, a pad byte will be
|
|
inserted at the end of the row.
|
|
|
|
If the layer is an adjustment layer, the channel data is undefined
|
|
(probably all white.)
|
|
|
|
/Global layer mask info
|
|
|
|
/
|
|
|
|
Length
|
|
|
|
|
|
|
|
Description
|
|
|
|
4
|
|
|
|
|
|
|
|
Length of global layer mask info section.
|
|
|
|
2
|
|
|
|
|
|
|
|
Overlay color space (undocumented).
|
|
|
|
8
|
|
|
|
|
|
|
|
4 * 2 byte color components
|
|
|
|
2
|
|
|
|
|
|
|
|
Opacity. 0 = transparent, 100 = opaque.
|
|
|
|
1
|
|
|
|
|
|
|
|
Kind. 0 = Color selected--i.e. inverted; 1 = Color protected;128 = use
|
|
value stored per layer. This value is preferred. The others are for
|
|
backward compatibility with beta versions.
|
|
|
|
Variable
|
|
|
|
|
|
|
|
Filler: zeros
|
|
|
|
|
|
Additional Layer Information
|
|
|
|
There are several types of layer information that have been added in
|
|
Photoshop 4.0 and later. These exist at the end of the layer records
|
|
structure (see the last row of See Layer records <https://www.adobe.com/
|
|
devnet-apps/photoshop/fileformatashtml/
|
|
PhotoshopFileFormats.htm#50577409_13084>). They have the following
|
|
structure:
|
|
|
|
/Additional layer information
|
|
|
|
/
|
|
|
|
Length
|
|
|
|
|
|
|
|
Description
|
|
|
|
4
|
|
|
|
|
|
|
|
Signature: /'8BIM'/ or /'8B64'/
|
|
|
|
4
|
|
|
|
|
|
|
|
Key: a 4-character code (See individual sections)
|
|
|
|
4
|
|
|
|
|
|
|
|
Length data below, rounded up to an even byte count.
|
|
|
|
(**PSB**, the following keys have a length count of 8 bytes: LMsk, Lr16,
|
|
Lr32, Layr, Mt16, Mt32, Mtrn, Alph, FMsk, lnk2, FEid, FXid, PxSD.
|
|
|
|
Variable
|
|
|
|
|
|
|
|
Data (See individual sections)
|
|
|
|
The following sections describe the different types of data available,
|
|
their keys and their format.
|
|
|
|
Adjustment layer /(Photoshop 4.0)/
|
|
|
|
Adjustment layers can have one of the following keys:
|
|
|
|
'/SoCo/' = Solid Color
|
|
|
|
'/GdFl/' = Gradient
|
|
|
|
'/PtFl/' = Pattern
|
|
|
|
'/brit/' = Brightness/Contrast
|
|
|
|
'/levl/' = Levels
|
|
|
|
'/curv/' = Curves
|
|
|
|
'/expA/' = Exposure
|
|
|
|
'/vibA/' = Vibrance
|
|
|
|
'/hue /' = Old Hue/saturation, Photoshop 4.0
|
|
|
|
'/hue2/' = New Hue/saturation, Photoshop 5.0
|
|
|
|
'/blnc/' = Color Balance
|
|
|
|
'/blwh/' = Black and White
|
|
|
|
'/phfl/' = Photo Filter
|
|
|
|
'/mixr/' = Channel Mixer
|
|
|
|
'/clrL/' = Color Lookup
|
|
|
|
'/nvrt/' = Invert
|
|
|
|
'/post/' = Posterize
|
|
|
|
'/thrs/' = Threshold
|
|
|
|
'/grdm/' = Gradient Map
|
|
|
|
'/selc/' = Selective color
|
|
|
|
|
|
|
|
The data for the adjustment layer is the same as the load file formats
|
|
for each format. See See Additional File Formats <https://www.adobe.com/
|
|
devnet-apps/photoshop/fileformatashtml/
|
|
PhotoshopFileFormats.htm#50577411_20528> for information.
|
|
|
|
Effects Layer /(Photoshop 5.0)/
|
|
|
|
The key for the effects layer is /'lrFX'/ . The data has the following
|
|
format:
|
|
|
|
/Effects Layer info
|
|
|
|
/
|
|
|
|
Length
|
|
|
|
|
|
|
|
Description
|
|
|
|
2
|
|
|
|
|
|
|
|
Version: 0
|
|
|
|
2
|
|
|
|
|
|
|
|
Effects count: may be 6 (for the 6 effects in Photoshop 5 and 6) or 7
|
|
(for Photoshop 7.0)
|
|
|
|
The next three items are repeated for each of the effects.
|
|
|
|
4
|
|
|
|
|
|
|
|
Signature: /'8BIM'/
|
|
|
|
4
|
|
|
|
|
|
|
|
Effects signatures: OSType key for which effects type to use:
|
|
|
|
'cmnS' = common state (see See Effects layer, common state info
|
|
<https://www.adobe.com/devnet-apps/photoshop/fileformatashtml/
|
|
PhotoshopFileFormats.htm#50577409_41831>)
|
|
|
|
'dsdw' = drop shadow (see See Effects layer, drop shadow and inner
|
|
shadow info <https://www.adobe.com/devnet-apps/photoshop/
|
|
fileformatashtml/PhotoshopFileFormats.htm#50577409_22203>)
|
|
|
|
'isdw' = inner shadow (see See Effects layer, drop shadow and inner
|
|
shadow info <https://www.adobe.com/devnet-apps/photoshop/
|
|
fileformatashtml/PhotoshopFileFormats.htm#50577409_22203>)
|
|
|
|
'oglw' = outer glow (see See Effects layer, outer glow info <https://
|
|
www.adobe.com/devnet-apps/photoshop/fileformatashtml/
|
|
PhotoshopFileFormats.htm#50577409_25738>)
|
|
|
|
'iglw' = inner glow (see See Effects layer, inner glow info <https://
|
|
www.adobe.com/devnet-apps/photoshop/fileformatashtml/
|
|
PhotoshopFileFormats.htm#50577409_27692>)
|
|
|
|
'bevl' = bevel (see See Effects layer, bevel info <https://
|
|
www.adobe.com/devnet-apps/photoshop/fileformatashtml/
|
|
PhotoshopFileFormats.htm#50577409_31889>)
|
|
|
|
'sofi' = solid fill (/Photoshop 7.0) / (see See Effects layer, solid
|
|
fill (added in Photoshop 7.0) <https://www.adobe.com/devnet-apps/
|
|
photoshop/fileformatashtml/PhotoshopFileFormats.htm#50577409_70055>)
|
|
|
|
Variable
|
|
|
|
|
|
|
|
See appropriate tables.
|
|
|
|
|
|
|
|
|
|
/Effects layer, common state info
|
|
|
|
/
|
|
|
|
Length
|
|
|
|
|
|
|
|
Description
|
|
|
|
4
|
|
|
|
|
|
|
|
Size of next three items: 7
|
|
|
|
4
|
|
|
|
|
|
|
|
Version: 0
|
|
|
|
1
|
|
|
|
|
|
|
|
Visible: always true
|
|
|
|
2
|
|
|
|
|
|
|
|
Unused: always 0
|
|
|
|
|
|
|
|
|
|
/Effects layer, drop shadow and inner shadow info
|
|
|
|
/
|
|
|
|
Length
|
|
|
|
|
|
|
|
Description
|
|
|
|
4
|
|
|
|
|
|
|
|
Size of the remaining items: 41 or 51 (depending on version)
|
|
|
|
4
|
|
|
|
|
|
|
|
Version: 0 (/Photoshop 5.0) / or 2 (/Photoshop 5.5)/
|
|
|
|
4
|
|
|
|
|
|
|
|
Blur value in pixels
|
|
|
|
4
|
|
|
|
|
|
|
|
Intensity as a percent
|
|
|
|
4
|
|
|
|
|
|
|
|
Angle in degrees
|
|
|
|
4
|
|
|
|
|
|
|
|
Distance in pixels
|
|
|
|
10
|
|
|
|
|
|
|
|
Color: 2 bytes for space followed by 4 * 2 byte color component
|
|
|
|
8
|
|
|
|
|
|
|
|
Blend mode: 4 bytes for signature and 4 bytes for key
|
|
|
|
1
|
|
|
|
|
|
|
|
Effect enabled
|
|
|
|
1
|
|
|
|
|
|
|
|
Use this angle in all of the layer effects
|
|
|
|
1
|
|
|
|
|
|
|
|
Opacity as a percent
|
|
|
|
10
|
|
|
|
|
|
|
|
Native color: 2 bytes for space followed by 4 * 2 byte color component
|
|
|
|
|
|
|
|
|
|
/Effects layer, outer glow info
|
|
|
|
/
|
|
|
|
Length
|
|
|
|
|
|
|
|
Description
|
|
|
|
4
|
|
|
|
|
|
|
|
Size of the remaining items: 32 for Photoshop 5.0; 42 for 5.5
|
|
|
|
4
|
|
|
|
|
|
|
|
Version: 0 for Photoshop 5.0; 2 for 5.5
|
|
|
|
4
|
|
|
|
|
|
|
|
Blur value in pixels.
|
|
|
|
4
|
|
|
|
|
|
|
|
Intensity as a percent
|
|
|
|
10
|
|
|
|
|
|
|
|
Color: 2 bytes for space followed by 4 * 2 byte color component
|
|
|
|
8
|
|
|
|
|
|
|
|
Blend mode: 4 bytes for signature and 4 bytes for the key
|
|
|
|
1
|
|
|
|
|
|
|
|
Effect enabled
|
|
|
|
1
|
|
|
|
|
|
|
|
Opacity as a percent
|
|
|
|
10
|
|
|
|
|
|
|
|
/(Version 2 only) / Native color space. 2 bytes for space followed by 4
|
|
* 2 byte color component
|
|
|
|
|
|
|
|
|
|
/Effects layer, inner glow info
|
|
|
|
/
|
|
|
|
Length
|
|
|
|
|
|
|
|
Description
|
|
|
|
4
|
|
|
|
|
|
|
|
Size of the remaining items: 33 for Photoshop 5.0; 43 for 5.5
|
|
|
|
4
|
|
|
|
|
|
|
|
Version: 0 for Photoshop 5.0; 2 for 5.5.
|
|
|
|
4
|
|
|
|
|
|
|
|
Blur value in pixels.
|
|
|
|
4
|
|
|
|
|
|
|
|
Intensity as a percent
|
|
|
|
10
|
|
|
|
|
|
|
|
Color: 2 bytes for space followed by 4 * 2 byte color component
|
|
|
|
8
|
|
|
|
|
|
|
|
Blend mode: 4 bytes for signature and 4 bytes for the key
|
|
|
|
1
|
|
|
|
|
|
|
|
Effect enabled
|
|
|
|
1
|
|
|
|
|
|
|
|
Opacity as a percent
|
|
|
|
Remaining fields present only in version 2
|
|
|
|
1
|
|
|
|
|
|
|
|
Invert
|
|
|
|
10
|
|
|
|
|
|
|
|
/(Version 2 only) / Native color space. 2 bytes for space followed by 4
|
|
* 2 byte color component
|
|
|
|
|
|
|
|
|
|
/Effects layer, bevel info //
|
|
|
|
/
|
|
|
|
Length
|
|
|
|
|
|
|
|
Description
|
|
|
|
4
|
|
|
|
|
|
|
|
Size of the remaining items (58 for version 0, 78 for version 20
|
|
|
|
4
|
|
|
|
|
|
|
|
Version: 0 for Photoshop 5.0; 2 for 5.5
|
|
|
|
4
|
|
|
|
|
|
|
|
Angle in degrees
|
|
|
|
4
|
|
|
|
|
|
|
|
Strength. Depth in pixels
|
|
|
|
4
|
|
|
|
|
|
|
|
Blur value in pixels.
|
|
|
|
8
|
|
|
|
|
|
|
|
Highlight blend mode: 4 bytes for signature and 4 bytes for the key
|
|
|
|
8
|
|
|
|
|
|
|
|
Shadow blend mode: 4 bytes for signature and 4 bytes for the key
|
|
|
|
10
|
|
|
|
|
|
|
|
Highlight color: 2 bytes for space followed by 4 * 2 byte color component
|
|
|
|
10
|
|
|
|
|
|
|
|
Shadow color: 2 bytes for space followed by 4 * 2 byte color component
|
|
|
|
1
|
|
|
|
|
|
|
|
Bevel style
|
|
|
|
1
|
|
|
|
|
|
|
|
Hightlight opacity as a percent
|
|
|
|
1
|
|
|
|
|
|
|
|
Shadow opacity as a percent
|
|
|
|
1
|
|
|
|
|
|
|
|
Effect enabled
|
|
|
|
1
|
|
|
|
|
|
|
|
Use this angle in all of the layer effects
|
|
|
|
1
|
|
|
|
|
|
|
|
Up or down
|
|
|
|
The following are present in version 2 only
|
|
|
|
10
|
|
|
|
|
|
|
|
Real highlight color: 2 bytes for space; 4 * 2 byte color component
|
|
|
|
10
|
|
|
|
|
|
|
|
Real shadow color: 2 bytes for space; 4 * 2 byte color component
|
|
|
|
|
|
|
|
|
|
/Effects layer, solid fill (added in Photoshop 7.0)
|
|
|
|
/
|
|
|
|
Length
|
|
|
|
|
|
|
|
Description
|
|
|
|
4
|
|
|
|
|
|
|
|
Size: 34
|
|
|
|
4
|
|
|
|
|
|
|
|
Version: 2
|
|
|
|
4
|
|
|
|
|
|
|
|
Key for blend mode
|
|
|
|
10
|
|
|
|
|
|
|
|
Color space
|
|
|
|
1
|
|
|
|
|
|
|
|
Opacity
|
|
|
|
1
|
|
|
|
|
|
|
|
Enabled
|
|
|
|
10
|
|
|
|
|
|
|
|
Native color space
|
|
|
|
Type Tool Info /(Photoshop 5.0 and 5.5 only)/
|
|
|
|
Has been superseded in Photoshop 6.0 and beyond by a different structure
|
|
with the key /'TySh'/ (see /See Type tool object setting (Photoshop 6.0)
|
|
<https://www.adobe.com/devnet-apps/photoshop/fileformatashtml/
|
|
PhotoshopFileFormats.htm#50577409_19762>/ /See Type tool object setting
|
|
<https://www.adobe.com/devnet-apps/photoshop/fileformatashtml/
|
|
PhotoshopFileFormats.htm#50577409_60077>/ ).
|
|
|
|
Key is /'tySh'/ . Data is as follows:
|
|
|
|
/Type tool Info
|
|
|
|
/
|
|
|
|
Length
|
|
|
|
|
|
|
|
Description
|
|
|
|
2
|
|
|
|
|
|
|
|
Version ( = 1)
|
|
|
|
48
|
|
|
|
|
|
|
|
6 * 8 double precision numbers for the transform information
|
|
|
|
/Font information/
|
|
|
|
2
|
|
|
|
|
|
|
|
Version ( = 6)
|
|
|
|
2
|
|
|
|
|
|
|
|
Count of faces
|
|
|
|
The next 8 fields are repeated for each count specified above
|
|
|
|
2
|
|
|
|
|
|
|
|
Mark value
|
|
|
|
4
|
|
|
|
|
|
|
|
Font type data
|
|
|
|
Variable
|
|
|
|
|
|
|
|
Pascal string of font name
|
|
|
|
Variable
|
|
|
|
|
|
|
|
Pascal string of font family name
|
|
|
|
Variable
|
|
|
|
|
|
|
|
Pascal string of font style name
|
|
|
|
2
|
|
|
|
|
|
|
|
Script value
|
|
|
|
4
|
|
|
|
|
|
|
|
Number of design axes vector to follow
|
|
|
|
4
|
|
|
|
|
|
|
|
Design vector value
|
|
|
|
/Style information/
|
|
|
|
2
|
|
|
|
|
|
|
|
Count of styles
|
|
|
|
The next 10 fields are repeated for each count specified above
|
|
|
|
2
|
|
|
|
|
|
|
|
Mark value
|
|
|
|
2
|
|
|
|
|
|
|
|
Face mark value
|
|
|
|
4
|
|
|
|
|
|
|
|
Size value
|
|
|
|
4
|
|
|
|
|
|
|
|
Tracking value
|
|
|
|
4
|
|
|
|
|
|
|
|
Kerning value
|
|
|
|
4
|
|
|
|
|
|
|
|
Leading value
|
|
|
|
4
|
|
|
|
|
|
|
|
Base shift value
|
|
|
|
1
|
|
|
|
|
|
|
|
Auto kern on/off
|
|
|
|
1
|
|
|
|
|
|
|
|
Only present in version <= 5
|
|
|
|
1
|
|
|
|
|
|
|
|
Rotate up/down
|
|
|
|
/Text information/
|
|
|
|
2
|
|
|
|
|
|
|
|
Type value
|
|
|
|
4
|
|
|
|
|
|
|
|
Scaling factor value
|
|
|
|
4
|
|
|
|
|
|
|
|
Sharacter count value
|
|
|
|
4
|
|
|
|
|
|
|
|
Horizontal placement
|
|
|
|
4
|
|
|
|
|
|
|
|
Vertical placement
|
|
|
|
4
|
|
|
|
|
|
|
|
Select start value
|
|
|
|
4
|
|
|
|
|
|
|
|
Select end value
|
|
|
|
2
|
|
|
|
|
|
|
|
Line count, i.e. the number of items to follow.
|
|
|
|
The next 5 fields are repeated for each item in line count.
|
|
|
|
4
|
|
|
|
|
|
|
|
Character count value
|
|
|
|
2
|
|
|
|
|
|
|
|
Orientation value
|
|
|
|
2
|
|
|
|
|
|
|
|
Alignment value
|
|
|
|
2
|
|
|
|
|
|
|
|
Actual character as a double byte character
|
|
|
|
2
|
|
|
|
|
|
|
|
Style value
|
|
|
|
/Color information/
|
|
|
|
2
|
|
|
|
|
|
|
|
Color space value
|
|
|
|
8
|
|
|
|
|
|
|
|
4 * 2 byte color component
|
|
|
|
1
|
|
|
|
|
|
|
|
Anti alias on/off//
|
|
|
|
Unicode layer name/(Photoshop 5.0)/
|
|
|
|
Key is /'luni'/ . Data is as follows:
|
|
|
|
/Unicode Layer name
|
|
|
|
/
|
|
|
|
Length
|
|
|
|
|
|
|
|
Description
|
|
|
|
Variable
|
|
|
|
|
|
|
|
Unicode string <https://www.adobe.com/devnet-apps/photoshop/
|
|
fileformatashtml/PhotoshopFileFormats.htm#UnicodeStringDefine>
|
|
|
|
Layer ID /(Photoshop 5.0)/
|
|
|
|
Key is /'lyid'/ .
|
|
|
|
/Layer ID //
|
|
|
|
/
|
|
|
|
Length
|
|
|
|
|
|
|
|
Description
|
|
|
|
4
|
|
|
|
|
|
|
|
Signature: /'8BIM'/
|
|
|
|
4
|
|
|
|
|
|
|
|
Key: /'lyid'/
|
|
|
|
4
|
|
|
|
|
|
|
|
Length: 4
|
|
|
|
4
|
|
|
|
|
|
|
|
ID.
|
|
|
|
Object-based effects layer info/(Photoshop 6.0)/
|
|
|
|
Key is /'lfx2'/ . Data is as follows:
|
|
|
|
/Object Based Effects Layer info
|
|
|
|
/
|
|
|
|
Length
|
|
|
|
|
|
|
|
Description
|
|
|
|
4
|
|
|
|
|
|
|
|
Object effects version: 0
|
|
|
|
4
|
|
|
|
|
|
|
|
Descriptor version ( = 16 for Photoshop 6.0).
|
|
|
|
Variable
|
|
|
|
|
|
|
|
Descriptor (see See Descriptor structure <https://www.adobe.com/devnet-
|
|
apps/photoshop/fileformatashtml/PhotoshopFileFormats.htm#50577411_21585>)
|
|
|
|
Patterns/(Photoshop 6.0 and CS (8.0))/
|
|
|
|
This is a list of patterns. Key is/'Patt', 'Pat2' or 'Pat3'/ . Data is
|
|
as follows:
|
|
|
|
/Patterns
|
|
|
|
/
|
|
|
|
Length
|
|
|
|
|
|
|
|
Description
|
|
|
|
The following is repeated for each pattern.
|
|
|
|
4
|
|
|
|
|
|
|
|
Length of this pattern
|
|
|
|
4
|
|
|
|
|
|
|
|
Version ( =1)
|
|
|
|
4
|
|
|
|
|
|
|
|
The image mode of the file. Supported values are: Bitmap = 0; Grayscale
|
|
= 1; Indexed = 2; RGB = 3; CMYK = 4; Multichannel = 7; Duotone = 8; Lab = 9.
|
|
|
|
4
|
|
|
|
|
|
|
|
Point: vertical, 2 bytes and horizontal, 2 bytes
|
|
|
|
Variable
|
|
|
|
|
|
|
|
Name: Unicode string <https://www.adobe.com/devnet-apps/photoshop/
|
|
fileformatashtml/PhotoshopFileFormats.htm#UnicodeStringDefine>
|
|
|
|
Variable
|
|
|
|
|
|
|
|
Unique ID for this pattern: Pascal string
|
|
|
|
Variable
|
|
|
|
|
|
|
|
Index color table (256 * 3 RGB values): only present when image mode is
|
|
indexed color
|
|
|
|
Variable
|
|
|
|
|
|
|
|
Pattern data as Virtual Memory Array List <https://www.adobe.com/devnet-
|
|
apps/photoshop/fileformatashtml/
|
|
PhotoshopFileFormats.htm#VirtualMemoryArrayList>
|
|
|
|
|
|
/Virtual Memory Array List
|
|
|
|
/
|
|
|
|
Length
|
|
|
|
|
|
|
|
Description
|
|
|
|
4
|
|
|
|
|
|
|
|
Version ( =3)
|
|
|
|
4
|
|
|
|
|
|
|
|
Length
|
|
|
|
16
|
|
|
|
|
|
|
|
Rectangle: top, left, bottom, right
|
|
|
|
4
|
|
|
|
|
|
|
|
Number of channels
|
|
|
|
The following is a /virtual memory array/, repeated for the number of
|
|
channels + one for a user mask + one for a sheet mask.//
|
|
|
|
4
|
|
|
|
|
|
|
|
Boolean indicating whether array is written, skip following data if 0.
|
|
|
|
4
|
|
|
|
|
|
|
|
Length, skip following data if 0.
|
|
|
|
4
|
|
|
|
|
|
|
|
Pixel depth: 1, 8, 16 or 32
|
|
|
|
16
|
|
|
|
|
|
|
|
Rectangle: top, left, bottom, right
|
|
|
|
2
|
|
|
|
|
|
|
|
Pixel depth: 1, 8, 16 or 32
|
|
|
|
1
|
|
|
|
|
|
|
|
Compression mode of data to follow. 1 is zip.
|
|
|
|
Variable
|
|
|
|
|
|
|
|
Actual data based on parameters and compression
|
|
|
|
Annotations/(Photoshop 6.0)/
|
|
|
|
Key is /'Anno'/ . Data is as follows:
|
|
|
|
/Annotations
|
|
|
|
/
|
|
|
|
Length
|
|
|
|
|
|
|
|
Description
|
|
|
|
2
|
|
|
|
|
|
|
|
Major version ( = 2)
|
|
|
|
2
|
|
|
|
|
|
|
|
Minor version. ( = 1)
|
|
|
|
4
|
|
|
|
|
|
|
|
Count of annotations to follow
|
|
|
|
Following is repeated for each annotation
|
|
|
|
4
|
|
|
|
|
|
|
|
Length of this annotation
|
|
|
|
4
|
|
|
|
|
|
|
|
Annotation type: either text(/'txtA'/ ) or sound (/'sndA'/ ).
|
|
|
|
1
|
|
|
|
|
|
|
|
Is the annotation open
|
|
|
|
1
|
|
|
|
|
|
|
|
Flags. //
|
|
|
|
2
|
|
|
|
|
|
|
|
Optional blocks. ( =1 for Photoshop 6.0)
|
|
|
|
16
|
|
|
|
|
|
|
|
Rectangle of icon location: top, left, bottom and right.
|
|
|
|
16
|
|
|
|
|
|
|
|
Rectangle of popup locations: top, left, bottom and right
|
|
|
|
10
|
|
|
|
|
|
|
|
2 bytes for space followed by 4 * 2 byte color component
|
|
|
|
Variable
|
|
|
|
|
|
|
|
Pascal string of author's name aligned to 2 bytes
|
|
|
|
Variable
|
|
|
|
|
|
|
|
Pascal string of name aligned to 2 bytes
|
|
|
|
Variable
|
|
|
|
|
|
|
|
Pascal string of the mod Date aligned to 2 bytes
|
|
|
|
4
|
|
|
|
|
|
|
|
Length of the following 3 fields including this field
|
|
|
|
4
|
|
|
|
|
|
|
|
'/txtC/ ' or '/sndM/ '. Either text or sound
|
|
|
|
4
|
|
|
|
|
|
|
|
Length of the next field
|
|
|
|
Variable
|
|
|
|
|
|
|
|
Actual data for this annotation. The text is an ASCII or Unicode string;
|
|
<https://www.adobe.com/devnet-apps/photoshop/fileformatashtml/
|
|
PhotoshopFileFormats.htm#UnicodeStringDefine> the sound annotation is
|
|
documented in the /PDF Reference/ , available at /http://
|
|
Partners.adobe.com/asn/developer/acrosdk/docs.html#filefmtspecs <http://
|
|
partners.adobe.com/asn/developer/acrosdk/docs.html#filefmtspecs>/
|
|
|
|
Variable
|
|
|
|
|
|
|
|
Padding to align to multiple of 4 bytes
|
|
|
|
|
|
Blend clipping elements /(Photoshop 6.0)/
|
|
|
|
Key is /'clbl'/ . Data is as follows:
|
|
|
|
/Blend clipping elements
|
|
|
|
/
|
|
|
|
Length
|
|
|
|
|
|
|
|
Description
|
|
|
|
1
|
|
|
|
|
|
|
|
Blend clipped elements: boolean
|
|
|
|
3
|
|
|
|
|
|
|
|
Padding
|
|
|
|
|
|
Blend interior elements /(Photoshop 6.0)/
|
|
|
|
Key is/'infx'/ . Data is as follows:
|
|
|
|
/Blend interior elements
|
|
|
|
/
|
|
|
|
Length
|
|
|
|
|
|
|
|
Description
|
|
|
|
1
|
|
|
|
|
|
|
|
Blend interior elements: boolean
|
|
|
|
3
|
|
|
|
|
|
|
|
Padding
|
|
|
|
|
|
|
|
Knockout setting/(Photoshop 6.0)/
|
|
|
|
Key is /'knko'/ . Data is as follows:
|
|
|
|
/Knockout setting
|
|
|
|
/
|
|
|
|
Length
|
|
|
|
|
|
|
|
Description
|
|
|
|
1
|
|
|
|
|
|
|
|
Knockout: boolean
|
|
|
|
3
|
|
|
|
|
|
|
|
Padding
|
|
|
|
|
|
|
|
Protected setting /(Photoshop 6.0)/
|
|
|
|
Key is /'lspf'/ . Data is as follows:
|
|
|
|
/Protected setting
|
|
|
|
/
|
|
|
|
Length
|
|
|
|
|
|
|
|
Description
|
|
|
|
4
|
|
|
|
|
|
|
|
Protection flags: bits 0 - 2 are used for Photoshop 6.0. Transparency,
|
|
composite and position respectively.
|
|
|
|
Sheet color setting /(Photoshop 6.0)/
|
|
|
|
Key is /'lclr'/ . Data is as follows:
|
|
|
|
/Sheet Color setting
|
|
|
|
/
|
|
|
|
Length
|
|
|
|
|
|
|
|
Description
|
|
|
|
4 * 2
|
|
|
|
|
|
|
|
Color. Only the first color setting is used for Photoshop 6.0; the rest
|
|
are zeros
|
|
|
|
|
|
|
|
Reference point /(Photoshop 6.0)/
|
|
|
|
Key is /'fxrp'/ . Data is as follows:
|
|
|
|
/Reference point
|
|
|
|
/
|
|
|
|
Length
|
|
|
|
|
|
|
|
Description
|
|
|
|
2 * 8
|
|
|
|
|
|
|
|
2 double values for the reference point
|
|
|
|
|
|
|
|
Gradient settings /(Photoshop 6.0)/
|
|
|
|
Key is /'grdm'/ . Data is as follows:
|
|
|
|
/Gradient settings
|
|
|
|
/
|
|
|
|
Length
|
|
|
|
|
|
|
|
Description
|
|
|
|
2
|
|
|
|
|
|
|
|
Version ( =1 for Photoshop 6.0)
|
|
|
|
1
|
|
|
|
|
|
|
|
Is gradient reversed
|
|
|
|
1
|
|
|
|
|
|
|
|
Is gradient dithered
|
|
|
|
Variable
|
|
|
|
|
|
|
|
Name of the gradient: Unicode string, <https://www.adobe.com/devnet-
|
|
apps/photoshop/fileformatashtml/
|
|
PhotoshopFileFormats.htm#UnicodeStringDefine> padded
|
|
|
|
2
|
|
|
|
|
|
|
|
Number of color stops to follow
|
|
|
|
Following is repeated for each color stop
|
|
|
|
4
|
|
|
|
|
|
|
|
Location of color stop
|
|
|
|
4
|
|
|
|
|
|
|
|
Midpoint of color stop
|
|
|
|
2
|
|
|
|
|
|
|
|
Mode for the color to follow
|
|
|
|
4 * 2
|
|
|
|
|
|
|
|
Actual color for the stop
|
|
|
|
2
|
|
|
|
|
|
|
|
Number of transparency stops to follow
|
|
|
|
Following is repeated for each transparency stop
|
|
|
|
4
|
|
|
|
|
|
|
|
Location of transparency stop
|
|
|
|
4
|
|
|
|
|
|
|
|
Midpoint of transparency stop
|
|
|
|
2
|
|
|
|
|
|
|
|
Opacity of transparency stop
|
|
|
|
2
|
|
|
|
|
|
|
|
Expansion count ( = 2 for Photoshop 6.0)
|
|
|
|
2
|
|
|
|
|
|
|
|
Interpolation if length above is non-zero
|
|
|
|
2
|
|
|
|
|
|
|
|
Length (= 32 for Photoshop 6.0)
|
|
|
|
2
|
|
|
|
|
|
|
|
Mode for this gradient
|
|
|
|
4
|
|
|
|
|
|
|
|
Random number seed
|
|
|
|
2
|
|
|
|
|
|
|
|
Flag for showing transparency
|
|
|
|
2
|
|
|
|
|
|
|
|
Flag for using vector color
|
|
|
|
4
|
|
|
|
|
|
|
|
Roughness factor
|
|
|
|
2
|
|
|
|
|
|
|
|
Color model
|
|
|
|
4 * 2
|
|
|
|
|
|
|
|
Minimum color values
|
|
|
|
4 * 2
|
|
|
|
|
|
|
|
Maximum color values
|
|
|
|
2
|
|
|
|
|
|
|
|
Dummy: not used in Photoshop 6.0
|
|
|
|
|
|
|
|
Section divider setting /(Photoshop 6.0)/
|
|
|
|
Key is /'lsct'/ . Data is as follows:
|
|
|
|
/Section Divider setting
|
|
|
|
/
|
|
|
|
Length
|
|
|
|
|
|
|
|
Description
|
|
|
|
4
|
|
|
|
|
|
|
|
Type. 4 possible values, 0 = any other type of layer, 1 = open "folder",
|
|
2 = closed "folder", 3 = bounding section divider, hidden in the UI
|
|
|
|
Following is only present if length >= 12
|
|
|
|
4
|
|
|
|
|
|
|
|
Signature: /'8BIM'/
|
|
|
|
4
|
|
|
|
|
|
|
|
Key. See blend mode keys in See Layer records <https://www.adobe.com/
|
|
devnet-apps/photoshop/fileformatashtml/
|
|
PhotoshopFileFormats.htm#50577409_13084>.
|
|
|
|
Following is only present if length >= 16
|
|
|
|
4
|
|
|
|
|
|
|
|
Sub type. 0 = normal, 1 = scene group, affects the animation timeline.
|
|
|
|
|
|
|
|
Channel blending restrictions setting /(Photoshop 6.0)/
|
|
|
|
Key is /'brst'/ . Data is as follows:
|
|
|
|
/Channel blending restrictions setting
|
|
|
|
/
|
|
|
|
Length
|
|
|
|
|
|
|
|
Description
|
|
|
|
Following is repeated length / 4 times.
|
|
|
|
4
|
|
|
|
|
|
|
|
Channel number that is restricted
|
|
|
|
|
|
|
|
Solid color sheet setting /(Photoshop 6.0)/
|
|
|
|
Key is /'SoCo'/ . Data is as follows:
|
|
|
|
/Solid color sheet setting
|
|
|
|
/
|
|
|
|
Length
|
|
|
|
|
|
|
|
Description
|
|
|
|
4
|
|
|
|
|
|
|
|
Version ( = 16 for Photoshop 6.0)
|
|
|
|
Variable
|
|
|
|
|
|
|
|
Descriptor. Based on the Action file format structure (see See
|
|
Descriptor structure <https://www.adobe.com/devnet-apps/photoshop/
|
|
fileformatashtml/PhotoshopFileFormats.htm#50577411_21585>)
|
|
|
|
|
|
|
|
Pattern fill setting /(Photoshop 6.0)/
|
|
|
|
Key is /'PtFl'/ . Data is as follows:
|
|
|
|
/Pattern fill setting
|
|
|
|
/
|
|
|
|
Length
|
|
|
|
|
|
|
|
Description
|
|
|
|
4
|
|
|
|
|
|
|
|
Version ( =16 for Photoshop 6.0)
|
|
|
|
Variable
|
|
|
|
|
|
|
|
Descriptor. Based on the Action file format structure (see See
|
|
Descriptor structure <https://www.adobe.com/devnet-apps/photoshop/
|
|
fileformatashtml/PhotoshopFileFormats.htm#50577411_21585>)//
|
|
|
|
|
|
|
|
Gradient fill setting/(Photoshop 6.0)/
|
|
|
|
Key is /'GdFl'/ . Data is as follows:
|
|
|
|
/Gradient Fill Setting
|
|
|
|
/
|
|
|
|
Length
|
|
|
|
|
|
|
|
Description
|
|
|
|
4 bytes
|
|
|
|
|
|
|
|
Version ( = 16 for Photoshop 6.0)
|
|
|
|
Variable
|
|
|
|
|
|
|
|
Descriptor. Based on the Action file format structure (see See
|
|
Descriptor structure <https://www.adobe.com/devnet-apps/photoshop/
|
|
fileformatashtml/PhotoshopFileFormats.htm#50577411_21585>)//
|
|
|
|
|
|
|
|
Vector mask setting /(Photoshop 6.0)/
|
|
|
|
Key is /'vmsk'/ or /'vsms'/. If key is /'vsms'/ then we are writing
|
|
for /(Photoshop CS6)/ and the document will have a /'vscg' / key. Data
|
|
is as follows:
|
|
|
|
/Vector mask setting
|
|
|
|
/
|
|
|
|
Length
|
|
|
|
|
|
|
|
Description
|
|
|
|
4
|
|
|
|
|
|
|
|
Version ( = 3 for Photoshop 6.0)
|
|
|
|
4
|
|
|
|
|
|
|
|
Flags. bit 1 = invert, bit 2 = not link, bit 3 = disable
|
|
|
|
The rest of the data is path components, loop until end of the length.
|
|
|
|
Variable
|
|
|
|
|
|
|
|
Paths. See See Path resource format <https://www.adobe.com/devnet-apps/
|
|
photoshop/fileformatashtml/PhotoshopFileFormats.htm#50577409_17587>
|
|
|
|
|
|
|
|
Type tool object setting/(Photoshop 6.0)/
|
|
|
|
This supersedes the type tool info in Photoshop 5.0 (see See Type tool
|
|
Info <https://www.adobe.com/devnet-apps/photoshop/fileformatashtml/
|
|
PhotoshopFileFormats.htm#50577409_40186>).
|
|
|
|
Key is /'TySh'/ . Data is as follows:
|
|
|
|
/Type tool object setting
|
|
|
|
/
|
|
|
|
Length
|
|
|
|
|
|
|
|
Description
|
|
|
|
2
|
|
|
|
|
|
|
|
Version ( =1 for Photoshop 6.0)
|
|
|
|
6 * 8
|
|
|
|
|
|
|
|
Transform: xx, xy, yx, yy, tx, and ty respectively.
|
|
|
|
2
|
|
|
|
|
|
|
|
Text version ( = 50 for Photoshop 6.0)
|
|
|
|
4
|
|
|
|
|
|
|
|
Descriptor version ( = 16 for Photoshop 6.0)
|
|
|
|
Variable
|
|
|
|
|
|
|
|
Text data (see See Descriptor structure <https://www.adobe.com/devnet-
|
|
apps/photoshop/fileformatashtml/PhotoshopFileFormats.htm#50577411_21585>)
|
|
|
|
2
|
|
|
|
|
|
|
|
Warp version ( = 1 for Photoshop 6.0)
|
|
|
|
4
|
|
|
|
|
|
|
|
Descriptor version ( = 16 for Photoshop 6.0)
|
|
|
|
Variable
|
|
|
|
|
|
|
|
Warp data (see See Descriptor structure <https://www.adobe.com/devnet-
|
|
apps/photoshop/fileformatashtml/PhotoshopFileFormats.htm#50577411_21585>)
|
|
|
|
4 * 8
|
|
|
|
|
|
|
|
left, top, right, bottom respectively.
|
|
|
|
|
|
|
|
Foreign effect ID/(Photoshop 6.0)/
|
|
|
|
Key is /'ffxi'/ . Data is as follows:
|
|
|
|
/Foreign effect ID
|
|
|
|
/
|
|
|
|
Length
|
|
|
|
|
|
|
|
Description
|
|
|
|
4
|
|
|
|
|
|
|
|
ID of the Foreign effect.
|
|
|
|
|
|
|
|
Layer name source setting/(Photoshop 6.0)/
|
|
|
|
Key is /'lnsr'/ . Data is as follows:
|
|
|
|
/Layer name source setting
|
|
|
|
/
|
|
|
|
Length
|
|
|
|
|
|
|
|
Description
|
|
|
|
4
|
|
|
|
|
|
|
|
ID for the layer name
|
|
|
|
|
|
|
|
Pattern data/(Photoshop 6.0)/
|
|
|
|
Key is /'shpa'/ . Data is as follows:
|
|
|
|
/Pattern data
|
|
|
|
/
|
|
|
|
Length
|
|
|
|
|
|
|
|
Description
|
|
|
|
4
|
|
|
|
|
|
|
|
Version ( = 0 for Photoshop 6.0)
|
|
|
|
4
|
|
|
|
|
|
|
|
Count of sets to follow
|
|
|
|
The following is repeated for the count above.
|
|
|
|
4
|
|
|
|
|
|
|
|
Pattern signature
|
|
|
|
4
|
|
|
|
|
|
|
|
Pattern key
|
|
|
|
4
|
|
|
|
|
|
|
|
Count of patterns in this set
|
|
|
|
1
|
|
|
|
|
|
|
|
Copy on sheet duplication
|
|
|
|
3
|
|
|
|
|
|
|
|
Padding
|
|
|
|
The following is repeated for the count of patterns above.
|
|
|
|
4
|
|
|
|
|
|
|
|
Color handling. Prefer convert = /'conv'/ , avoid conversion
|
|
= /'avod'/ , luminance only = /'lumi'/
|
|
|
|
Variable
|
|
|
|
|
|
|
|
Pascal string name of the pattern
|
|
|
|
Variable
|
|
|
|
|
|
|
|
Unicode string <https://www.adobe.com/devnet-apps/photoshop/
|
|
fileformatashtml/PhotoshopFileFormats.htm#UnicodeStringDefine> name of
|
|
the pattern
|
|
|
|
Variable
|
|
|
|
|
|
|
|
Pascal string of the unique identifier for the pattern
|
|
|
|
|
|
|
|
Metadata setting/(Photoshop 6.0)/
|
|
|
|
Key is /'shmd'/ . Data is as follows:
|
|
|
|
/Metadata setting
|
|
|
|
/
|
|
|
|
Length
|
|
|
|
|
|
|
|
Description
|
|
|
|
4
|
|
|
|
|
|
|
|
Count of metadata items to follow
|
|
|
|
The following is repeated the number of times specified by the count above:
|
|
|
|
4
|
|
|
|
|
|
|
|
Signature of the data
|
|
|
|
4
|
|
|
|
|
|
|
|
Key of the data
|
|
|
|
1
|
|
|
|
|
|
|
|
Copy on sheet duplication
|
|
|
|
3
|
|
|
|
|
|
|
|
Padding
|
|
|
|
4
|
|
|
|
|
|
|
|
Length of data to follow
|
|
|
|
Variable
|
|
|
|
|
|
|
|
Undocumented data
|
|
|
|
|
|
|
|
Layer version /(Photoshop 7.0)/
|
|
|
|
Key is /'lyvr'/ . Data is as follows:
|
|
|
|
/Layer version
|
|
|
|
/
|
|
|
|
Length
|
|
|
|
|
|
|
|
Description
|
|
|
|
4
|
|
|
|
|
|
|
|
A 32-bit number representing the version of Photoshop needed to read and
|
|
interpret the layer without data loss. 70 = 7.0, 80 = 8.0, etc.
|
|
|
|
The minimum value is 70, because just having the field present in 6.0
|
|
triggers a warning. For the future, Photoshop 7 checks to see whether
|
|
this number is larger than the current version -- i.e., 70 -- and if so,
|
|
warns that it is ignoring some data.
|
|
|
|
|
|
|
|
Transparency shapes layer /(Photoshop 7.0)/
|
|
|
|
Key is /'tsly'/ . Data is as follows:
|
|
|
|
/Transparency shapes layer
|
|
|
|
/
|
|
|
|
Length
|
|
|
|
|
|
|
|
Description
|
|
|
|
1
|
|
|
|
|
|
|
|
1: the transparency of the layer is used in determining the shape of the
|
|
effects. This is the default for behavior like previous versions.
|
|
|
|
0: treated in the same way as fill opacity including modulating blend
|
|
modes, rather than acting as strict transparency.
|
|
|
|
Using this feature is useful for achieving effects that otherwise would
|
|
require complex use of clipping groups.
|
|
|
|
3
|
|
|
|
|
|
|
|
Padding
|
|
|
|
|
|
|
|
Layer mask as global mask /(Photoshop 7.0)/
|
|
|
|
Key is /'lmgm'/ . Data is as follows:
|
|
|
|
/Layer mask as global mask
|
|
|
|
/
|
|
|
|
Length
|
|
|
|
|
|
|
|
Description
|
|
|
|
1
|
|
|
|
|
|
|
|
1: the layer mask is used in a final crossfade masking the layer and
|
|
effects rather than being used to shape the layer and its effects.
|
|
|
|
This behavior was previously tied to the link status flag for the layer
|
|
mask. (An unlinked mask acted like a flag value of 1, a linked mask like
|
|
0). For old files that lack this key, the link status is used in order
|
|
to preserve compositing results.
|
|
|
|
3
|
|
|
|
|
|
|
|
Padding
|
|
|
|
|
|
|
|
Vector mask as global mask /(Photoshop 7.0)/
|
|
|
|
Key is /'vmgm'/ . Data is as follows:
|
|
|
|
/Vector mask as global mask
|
|
|
|
/
|
|
|
|
Length
|
|
|
|
|
|
|
|
Description
|
|
|
|
1
|
|
|
|
|
|
|
|
Same as in See Layer mask as global mask <https://www.adobe.com/devnet-
|
|
apps/photoshop/fileformatashtml/
|
|
PhotoshopFileFormats.htm#50577409_14192>, but applying the vector mask.
|
|
|
|
3
|
|
|
|
|
|
|
|
Padding
|
|
|
|
|
|
|
|
Brightness and Contrast//
|
|
|
|
Key is /'brit'/ . Data is as follows:
|
|
|
|
/Brightness and Contrast
|
|
|
|
/
|
|
|
|
Length
|
|
|
|
|
|
|
|
Description
|
|
|
|
2
|
|
|
|
|
|
|
|
Brightness
|
|
|
|
2
|
|
|
|
|
|
|
|
Contrast
|
|
|
|
2
|
|
|
|
|
|
|
|
Mean value for brightness and contrast
|
|
|
|
1
|
|
|
|
|
|
|
|
Lab color only
|
|
|
|
|
|
|
|
Channel Mixer//
|
|
|
|
Key is /'mixr'/ . Data is as follows:
|
|
|
|
/Channel Mixer
|
|
|
|
/
|
|
|
|
Length
|
|
|
|
|
|
|
|
Description
|
|
|
|
2
|
|
|
|
|
|
|
|
Version ( = 1)
|
|
|
|
2
|
|
|
|
|
|
|
|
Monochrome
|
|
|
|
20
|
|
|
|
|
|
|
|
RGB or CMYK color plus constant for the mixer settings. 4 * 2 bytes of
|
|
color with 2 bytes of constant.
|
|
|
|
|
|
|
|
Color Lookup /(Photoshop CS6)/
|
|
|
|
Key is /'clrL'/ . Data is as follows:
|
|
|
|
/Color Lookup
|
|
|
|
/
|
|
|
|
Length
|
|
|
|
|
|
|
|
Description
|
|
|
|
2
|
|
|
|
|
|
|
|
Version ( = 1)
|
|
|
|
4
|
|
|
|
|
|
|
|
Descriptor Version ( = 16)
|
|
|
|
Variable
|
|
|
|
|
|
|
|
Descriptor of black and white information
|
|
|
|
|
|
|
|
Placed Layer (replaced by SoLd in Photoshop CS3)
|
|
|
|
Key is /'plLd'/ . Data is as follows:
|
|
|
|
/Placed Layer
|
|
|
|
/
|
|
|
|
Length
|
|
|
|
|
|
|
|
Description
|
|
|
|
4
|
|
|
|
|
|
|
|
Type ( = 'plcL' )
|
|
|
|
4
|
|
|
|
|
|
|
|
Version ( = 3 )
|
|
|
|
Variable
|
|
|
|
|
|
|
|
Unique ID as a pascal string
|
|
|
|
4
|
|
|
|
|
|
|
|
Page number
|
|
|
|
4
|
|
|
|
|
|
|
|
Total pages
|
|
|
|
4
|
|
|
|
|
|
|
|
Anit alias policy
|
|
|
|
4
|
|
|
|
|
|
|
|
Placed layer type: 0 = unknown, 1 = vector, 2 = raster, 3 = image stack
|
|
|
|
4 * 8
|
|
|
|
|
|
|
|
Transformation: 8 doubles for x,y location of transform points
|
|
|
|
4
|
|
|
|
|
|
|
|
Warp version ( = 0 )
|
|
|
|
4
|
|
|
|
|
|
|
|
Warp descriptor version ( = 16 )
|
|
|
|
Variable
|
|
|
|
|
|
|
|
Descriptor for warping information
|
|
|
|
|
|
|
|
Linked Layer
|
|
|
|
Key is /'lnkD'/ . Also keys /'lnk2'/ and /'lnk3'/ . Data is as follows:
|
|
|
|
/Linked Layer
|
|
|
|
/
|
|
|
|
Length
|
|
|
|
|
|
|
|
Description
|
|
|
|
The following is repeated for each linked file.
|
|
|
|
8
|
|
|
|
|
|
|
|
Length of the data to follow
|
|
|
|
4
|
|
|
|
|
|
|
|
Type ( = 'liFD' linked file data, 'liFE' linked file external or 'liFA'
|
|
linked file alias )
|
|
|
|
4
|
|
|
|
|
|
|
|
Version ( = 1 to 7 )
|
|
|
|
Variable
|
|
|
|
|
|
|
|
Pascal string. Unique ID.
|
|
|
|
Variable
|
|
|
|
|
|
|
|
Unicode string <https://www.adobe.com/devnet-apps/photoshop/
|
|
fileformatashtml/PhotoshopFileFormats.htm#UnicodeStringDefine> of the
|
|
original file name
|
|
|
|
4
|
|
|
|
|
|
|
|
File Type
|
|
|
|
4
|
|
|
|
|
|
|
|
File Creator
|
|
|
|
8
|
|
|
|
|
|
|
|
Length of the data to follow
|
|
|
|
1
|
|
|
|
|
|
|
|
File open descriptor
|
|
|
|
Variable
|
|
|
|
|
|
|
|
Descriptor of open parameters. Only present when above is true.
|
|
|
|
If the type is 'liFE' then a linked file Descriptor is next.
|
|
|
|
Variable
|
|
|
|
|
|
|
|
Descriptor of linked file parameters. See comment above.
|
|
|
|
If the type is 'liFE' and the version is greater than 3 then the
|
|
following is present. Year, Month, Day, Hour, Minute, Second is next.
|
|
|
|
4
|
|
|
|
|
|
|
|
Year
|
|
|
|
1
|
|
|
|
|
|
|
|
Month
|
|
|
|
1
|
|
|
|
|
|
|
|
Day
|
|
|
|
1
|
|
|
|
|
|
|
|
Hour
|
|
|
|
1
|
|
|
|
|
|
|
|
Minute
|
|
|
|
8
|
|
|
|
|
|
|
|
Double for the seconds
|
|
|
|
If the type is 'liFE' then a file size is next.
|
|
|
|
8
|
|
|
|
|
|
|
|
File size
|
|
|
|
If the type is 'liFA' then 4 zeros are next.
|
|
|
|
8
|
|
|
|
|
|
|
|
All zeros
|
|
|
|
If the type is 'liFE' then they bytes of the file are next.
|
|
|
|
Variable
|
|
|
|
|
|
|
|
Raw bytes of the file.
|
|
|
|
If the version is greater than or equal to 5 then the following is next.
|
|
|
|
UnicodeString
|
|
|
|
|
|
|
|
Child Document ID.
|
|
|
|
If the version is greater than or equal to 6 then the following is next.
|
|
|
|
Double
|
|
|
|
|
|
|
|
Asset mod time.
|
|
|
|
If the version is greater than or equal to 7 then the following is next.
|
|
|
|
1
|
|
|
|
|
|
|
|
Asset locked state, for Libraries assets.
|
|
|
|
If the type is 'liFE' and the version is 2 then the following is next.
|
|
|
|
Variable
|
|
|
|
|
|
|
|
Raw bytes of the file.
|
|
|
|
|
|
|
|
Photo Filter
|
|
|
|
Key is /'phfl'/ . Data is as follows:
|
|
|
|
/Photo Filter
|
|
|
|
/
|
|
|
|
Length
|
|
|
|
|
|
|
|
Description
|
|
|
|
2
|
|
|
|
|
|
|
|
Version ( = 3) or ( = 2 )
|
|
|
|
12
|
|
|
|
|
|
|
|
4 bytes each for XYZ color (Only in Version 3)
|
|
|
|
10
|
|
|
|
|
|
|
|
2 bytes color space followed by 4 * 2 bytes color component (Only in
|
|
Version 2)
|
|
|
|
4
|
|
|
|
|
|
|
|
Density
|
|
|
|
1
|
|
|
|
|
|
|
|
Preserve Luminosity
|
|
|
|
|
|
|
|
Black White /(Photoshop CS3)/
|
|
|
|
Key is /'blwh'/ . Data is as follows:
|
|
|
|
/Black White
|
|
|
|
/
|
|
|
|
Length
|
|
|
|
|
|
|
|
Description
|
|
|
|
4
|
|
|
|
|
|
|
|
Descriptor Version ( = 16)
|
|
|
|
Variable
|
|
|
|
|
|
|
|
Descriptor of black and white information
|
|
|
|
|
|
|
|
Content Generator Extra Data /(Photoshop CS5)/
|
|
|
|
Key is /'CgEd'/ . Data is as follows:
|
|
|
|
/Content Generator Extra Data
|
|
|
|
/
|
|
|
|
Length
|
|
|
|
|
|
|
|
Description
|
|
|
|
4
|
|
|
|
|
|
|
|
Descriptor Version ( = 16)
|
|
|
|
Variable
|
|
|
|
|
|
|
|
Descriptor of extra data
|
|
|
|
|
|
|
|
Text Engine Data /(Photoshop CS3)/
|
|
|
|
Key is /'Txt2'/ . Data is as follows:
|
|
|
|
/Text Engine Data
|
|
|
|
/
|
|
|
|
Length
|
|
|
|
|
|
|
|
Description
|
|
|
|
4
|
|
|
|
|
|
|
|
Length of data to follow
|
|
|
|
Variable
|
|
|
|
|
|
|
|
Raw bytes for text engine
|
|
|
|
|
|
|
|
Vibrance /(Photoshop CS3)/
|
|
|
|
Key is /'vibA'/ . Data is as follows:
|
|
|
|
/Vibrance
|
|
|
|
/
|
|
|
|
Length
|
|
|
|
|
|
|
|
Description
|
|
|
|
4
|
|
|
|
|
|
|
|
Descriptor Version ( = 16)
|
|
|
|
Variable
|
|
|
|
|
|
|
|
Descriptor of vibrance information
|
|
|
|
|
|
|
|
Unicode Path Name /(Photoshop CS6)/
|
|
|
|
Key is /'pths'/ . Data is as follows:
|
|
|
|
/Unicode Path Name
|
|
|
|
/
|
|
|
|
Length
|
|
|
|
|
|
|
|
Description
|
|
|
|
4
|
|
|
|
|
|
|
|
Descriptor Version ( = 16)
|
|
|
|
Variable
|
|
|
|
|
|
|
|
Descriptor containing a list of unicode path names
|
|
|
|
|
|
|
|
Animation Effects /(Photoshop CS6)/
|
|
|
|
Key is /'anFX'/ . Data is as follows:
|
|
|
|
/Animation Effects
|
|
|
|
/
|
|
|
|
Length
|
|
|
|
|
|
|
|
Description
|
|
|
|
4
|
|
|
|
|
|
|
|
Descriptor Version ( = 16)
|
|
|
|
Variable
|
|
|
|
|
|
|
|
Descriptor containing animation effects
|
|
|
|
|
|
|
|
Filter Mask /(Photoshop CS3)/
|
|
|
|
Key is /'FMsk'/ . Data is as follows:
|
|
|
|
/Filter Mask
|
|
|
|
/
|
|
|
|
Length
|
|
|
|
|
|
|
|
Description
|
|
|
|
10
|
|
|
|
|
|
|
|
Color space
|
|
|
|
2
|
|
|
|
|
|
|
|
Opacity
|
|
|
|
|
|
|
|
Placed Layer Data /(Photoshop CS3)/
|
|
|
|
Key is /'SoLd'/ . See also /*'PlLd'*/ key. Data is as follows:
|
|
|
|
/Filter Mask
|
|
|
|
/
|
|
|
|
Length
|
|
|
|
|
|
|
|
Description
|
|
|
|
4
|
|
|
|
|
|
|
|
Identifier ( = 'soLD' )
|
|
|
|
4
|
|
|
|
|
|
|
|
Version ( = 4 )
|
|
|
|
4
|
|
|
|
|
|
|
|
Descriptor Version ( = 16)
|
|
|
|
Variable
|
|
|
|
|
|
|
|
Descriptor of placed layer information
|
|
|
|
|
|
|
|
Vector Stroke Data /(Photoshop CS6)/
|
|
|
|
Key is /'vstk'/ . Data is as follows:
|
|
|
|
/Vector stroke setting
|
|
|
|
/
|
|
|
|
Length
|
|
|
|
|
|
|
|
Description
|
|
|
|
4
|
|
|
|
|
|
|
|
Version ( = 16 )
|
|
|
|
Variable
|
|
|
|
|
|
|
|
Descriptor. Based on the Action file format structure (see See
|
|
Descriptor structure <https://www.adobe.com/devnet-apps/photoshop/
|
|
fileformatashtml/PhotoshopFileFormats.htm#50577411_21585>)//
|
|
|
|
|
|
|
|
Vector Stroke Content Data /(Photoshop CS6)/
|
|
|
|
Key is /'vscg'/ . Data is as follows:
|
|
|
|
/Vector stroke content setting
|
|
|
|
/
|
|
|
|
Length
|
|
|
|
|
|
|
|
Description
|
|
|
|
4
|
|
|
|
|
|
|
|
Key for data
|
|
|
|
4
|
|
|
|
|
|
|
|
Version ( = 16 )
|
|
|
|
Variable
|
|
|
|
|
|
|
|
Descriptor. Based on the Action file format structure (see See
|
|
Descriptor structure <https://www.adobe.com/devnet-apps/photoshop/
|
|
fileformatashtml/PhotoshopFileFormats.htm#50577411_21585>)//
|
|
|
|
|
|
|
|
Using Aligned Rendering /(Photoshop CS6)/
|
|
|
|
Key is /'sn2P'/ . Data is as follows:
|
|
|
|
/Using Aligned Rendering
|
|
|
|
/
|
|
|
|
Length
|
|
|
|
|
|
|
|
Description
|
|
|
|
4
|
|
|
|
|
|
|
|
Non zero is true for using aligned rendering
|
|
|
|
|
|
|
|
Vector Origination Data /(Photoshop CC)/
|
|
|
|
Key is /'vogk'/ . Data is as follows:
|
|
|
|
/Vector origination setting
|
|
|
|
/
|
|
|
|
Length
|
|
|
|
|
|
|
|
Description
|
|
|
|
4
|
|
|
|
|
|
|
|
Version ( = 1 for Photoshop CC)
|
|
|
|
4
|
|
|
|
|
|
|
|
Version ( = 16 )
|
|
|
|
Variable
|
|
|
|
|
|
|
|
Descriptor. Based on the Action file format structure (see See
|
|
Descriptor structure <https://www.adobe.com/devnet-apps/photoshop/
|
|
fileformatashtml/PhotoshopFileFormats.htm#50577411_21585>)//
|
|
|
|
|
|
|
|
Pixel Source Data /(Photoshop CC)/
|
|
|
|
Key is /'PxSc'/. Data is as follows:
|
|
|
|
/Pixel Source info
|
|
|
|
/
|
|
|
|
Length
|
|
|
|
|
|
|
|
Description
|
|
|
|
4
|
|
|
|
|
|
|
|
Version ( = 16 )
|
|
|
|
Variable
|
|
|
|
|
|
|
|
Descriptor. Based on the Action file format structure (see See
|
|
Descriptor structure <https://www.adobe.com/devnet-apps/photoshop/
|
|
fileformatashtml/PhotoshopFileFormats.htm#50577411_21585>)//
|
|
|
|
|
|
|
|
Compositor Used /(Photoshop 2020)/
|
|
|
|
Key is /'cinf'/. Data is as follows:
|
|
|
|
/Compositor Used
|
|
|
|
/
|
|
|
|
Length
|
|
|
|
|
|
|
|
Description
|
|
|
|
4
|
|
|
|
|
|
|
|
Version ( = 16 )
|
|
|
|
Variable
|
|
|
|
|
|
|
|
Descriptor. Based on the Action file format structure (see See
|
|
Descriptor structure <https://www.adobe.com/devnet-apps/photoshop/
|
|
fileformatashtml/PhotoshopFileFormats.htm#50577411_21585>)//
|
|
|
|
|
|
|
|
Pixel Source Data /(Photoshop CC 2015)/
|
|
|
|
Key is /'PxSD'/. Data is as follows:
|
|
|
|
/Pixel Source info
|
|
|
|
/
|
|
|
|
Length
|
|
|
|
|
|
|
|
Description
|
|
|
|
8
|
|
|
|
|
|
|
|
Length of data to follow
|
|
|
|
Variable
|
|
|
|
|
|
|
|
Raw data for 3D or video layers.
|
|
|
|
|
|
|
|
Artboard Data /(Photoshop CC 2015)/
|
|
|
|
Key is /'artb'/ or /'artd'/ or /'abdd'/. Data is as follows:
|
|
|
|
/Artboard info
|
|
|
|
/
|
|
|
|
Length
|
|
|
|
|
|
|
|
Description
|
|
|
|
4
|
|
|
|
|
|
|
|
Version ( = 16 )
|
|
|
|
Variable
|
|
|
|
|
|
|
|
Descriptor. Based on the Action file format structure (see See
|
|
Descriptor structure <https://www.adobe.com/devnet-apps/photoshop/
|
|
fileformatashtml/PhotoshopFileFormats.htm#50577411_21585>)//
|
|
|
|
|
|
|
|
Smart Object Layer Data /(Photoshop CC 2015)/
|
|
|
|
Key is /'SoLE'/ . Data is as follows:
|
|
|
|
/Smart Object info
|
|
|
|
/
|
|
|
|
Length
|
|
|
|
|
|
|
|
Description
|
|
|
|
4
|
|
|
|
|
|
|
|
Type ( = 'soLD' )
|
|
|
|
4
|
|
|
|
|
|
|
|
Version ( = 4 or 5 )
|
|
|
|
Variable
|
|
|
|
|
|
|
|
Descriptor. Based on the Action file format structure (see See
|
|
Descriptor structure <https://www.adobe.com/devnet-apps/photoshop/
|
|
fileformatashtml/PhotoshopFileFormats.htm#50577411_21585>)//
|
|
|
|
|
|
|
|
Saving Merged Transparency
|
|
|
|
Key is /'Mtrn', 'Mt16' or 'Mt32'/ . There is no data associated with
|
|
these keys.
|
|
|
|
|
|
|
|
User Mask
|
|
|
|
Key is /'LMsk'/ .
|
|
|
|
/User Mask
|
|
|
|
/
|
|
|
|
Length
|
|
|
|
|
|
|
|
Description
|
|
|
|
10
|
|
|
|
|
|
|
|
Color space
|
|
|
|
2
|
|
|
|
|
|
|
|
Opacity
|
|
|
|
1
|
|
|
|
|
|
|
|
Flag ( = 128 )
|
|
|
|
|
|
|
|
Exposure
|
|
|
|
Key is /'expA'/ .
|
|
|
|
/Exposure
|
|
|
|
/
|
|
|
|
Length
|
|
|
|
|
|
|
|
Description
|
|
|
|
2
|
|
|
|
|
|
|
|
Version (= 1)
|
|
|
|
4
|
|
|
|
|
|
|
|
Exposure
|
|
|
|
4
|
|
|
|
|
|
|
|
Offset
|
|
|
|
4
|
|
|
|
|
|
|
|
Gamma
|
|
|
|
|
|
|
|
Filter Effects
|
|
|
|
Key is /'FXid' or 'FEid'/ .
|
|
|
|
/Filter Effects
|
|
|
|
/
|
|
|
|
Length
|
|
|
|
|
|
|
|
Description
|
|
|
|
4
|
|
|
|
|
|
|
|
Version ( =1, 2 or 3)
|
|
|
|
8
|
|
|
|
|
|
|
|
Length of data to follow
|
|
|
|
The following is repeated for the given length.
|
|
|
|
Variable
|
|
|
|
|
|
|
|
Pascal string as identifier
|
|
|
|
4
|
|
|
|
|
|
|
|
Version ( = 1 )
|
|
|
|
8
|
|
|
|
|
|
|
|
Length
|
|
|
|
16
|
|
|
|
|
|
|
|
Rectangle: top, left, bottom, right
|
|
|
|
4
|
|
|
|
|
|
|
|
Depth
|
|
|
|
4
|
|
|
|
|
|
|
|
Max channels
|
|
|
|
The following is repeated for number of channels + a user mask + a sheet
|
|
mask.//
|
|
|
|
4
|
|
|
|
|
|
|
|
Boolean indicating whether array is written
|
|
|
|
8
|
|
|
|
|
|
|
|
Length
|
|
|
|
2
|
|
|
|
|
|
|
|
Compression mode of data to follow.
|
|
|
|
Variable
|
|
|
|
|
|
|
|
Actual data based on compression
|
|
|
|
End of repeating for channels
|
|
|
|
1
|
|
|
|
|
|
|
|
Next two items present or not
|
|
|
|
2
|
|
|
|
|
|
|
|
Compression mode of data to follow
|
|
|
|
Variable
|
|
|
|
|
|
|
|
Actual data based on compression
|
|
|
|
|
|
Image Data Section
|
|
|
|
The last section of a Photoshop file contains the image pixel data.
|
|
Image data is stored in planar order: first all the red data, then all
|
|
the green data, etc. Each plane is stored in scan-line order, with no
|
|
pad bytes,
|
|
|
|
/Image data section
|
|
|
|
/
|
|
|
|
Length
|
|
|
|
|
|
|
|
Description
|
|
|
|
2
|
|
|
|
|
|
|
|
Compression method:
|
|
|
|
0 = Raw image data
|
|
|
|
1 = RLE compressed the image data starts with the byte counts for all
|
|
the scan lines (rows * channels), with each count stored as a two-byte
|
|
value. The RLE compressed data follows, with each scan line compressed
|
|
separately. The RLE compression is the same compression algorithm used
|
|
by the Macintosh ROM routine /PackBits/ , and the TIFF standard.
|
|
|
|
2 = ZIP without prediction
|
|
|
|
3 = ZIP with prediction.
|
|
|
|
Variable
|
|
|
|
|
|
|
|
The image data. Planar order = RRR GGG BBB, etc.
|
|
|
|
|
|
|
|
|
|
|
|
Other Document File Formats
|
|
|
|
|
|
Photoshop EPS files
|
|
|
|
The following summarizes the additional information Photoshop writes
|
|
when creating EPS files:
|
|
|
|
Photoshop writes a high-resolution bounding box comment to the EPS file
|
|
immediately following the traditional EPS bounding box comment. The
|
|
comment begins with "/%%HiResBoundingBox/ " and is followed by four
|
|
numbers identical to those given for the bounding box except that they
|
|
can have fractional components (i.e., a decimal point and digits after
|
|
it). The traditional bounding box is written as the rounded version of
|
|
the high resolution bounding box for compatibility.
|
|
|
|
Photoshop writes its image resources out to a block of data stored as
|
|
follows:
|
|
|
|
%BeginPhotoshop: <length> <hex data>//
|
|
|
|
/EPS parameters for BeginPhotoshop
|
|
|
|
/
|
|
|
|
Field
|
|
|
|
|
|
|
|
Definition
|
|
|
|
length
|
|
|
|
|
|
|
|
Length of the image resource data.
|
|
|
|
hex data
|
|
|
|
|
|
|
|
Image resource data in hexadecimal.
|
|
|
|
Photoshop includes a comment in the EPS files it writes so that it is
|
|
able to read them back in again. Third party programs that write pixel-
|
|
based EPS files may want to include this comment in their EPS files, so
|
|
Photoshop can read their files.
|
|
|
|
The comment must follow immediately after the /%%/ comment block at the
|
|
start of the file. The comment is:
|
|
|
|
%ImageData: <columns> <rows> <depth> <mode> <pad channels> <block size>
|
|
<binary/hex> "<data start>"
|
|
|
|
//
|
|
|
|
/EPS parameters for ImageData
|
|
|
|
/
|
|
|
|
Field
|
|
|
|
|
|
|
|
Definition
|
|
|
|
columns
|
|
|
|
|
|
|
|
Width of the image in pixels.
|
|
|
|
rows
|
|
|
|
|
|
|
|
Height of the image in pixels.
|
|
|
|
depth
|
|
|
|
|
|
|
|
Number of bits per channel. Must be 1 or 8.
|
|
|
|
mode
|
|
|
|
|
|
|
|
Image mode. Bitmap/grayscale = 1; Lab = 2; RGB = 3; CMYK = 4.
|
|
|
|
pad channels
|
|
|
|
|
|
|
|
Number of other channels store in the file. Ignored when reading.
|
|
Photoshop uses this to include a grayscale image that is printed on non-
|
|
color PostScript printers.
|
|
|
|
block size
|
|
|
|
|
|
|
|
Number of bytes per row per channel. Will be either 1 or formula (below):
|
|
|
|
1 = Data is interleaved.
|
|
|
|
/(columns*depth+7)/8/ =Data is stored in line-interleaved format, or
|
|
there is only one channel.
|
|
|
|
binary/ascii
|
|
|
|
|
|
|
|
1 = Data is in binary format.
|
|
|
|
2 = Data is in hex ascii format.
|
|
|
|
data start
|
|
|
|
|
|
|
|
Entire PostScript line immediately preceding the image data. This entire
|
|
line should not occur elsewhere in the PostScript header code, butit may
|
|
occur at part of a line.
|
|
|
|
|
|
TIFF files
|
|
|
|
See TIFF Tags <https://www.adobe.com/devnet-apps/photoshop/
|
|
fileformatashtml/PhotoshopFileFormats.htm#50577413_20965> describes the
|
|
standard TIFF (version 6) tags and tag values that Photoshop is able to
|
|
read and write. Photoshop reads the first Image File Directory (IFD) and
|
|
writes one IFD per file.
|
|
|
|
In addition, Photoshop uses a set of tags that are not defined in the
|
|
TIFF v6 specification to store specific information. See See Photoshop-
|
|
specific TIFF Tags <https://www.adobe.com/devnet-apps/photoshop/
|
|
fileformatashtml/PhotoshopFileFormats.htm#50577413_48544>.
|
|
|
|
See See TIFF Files on Mac OS <https://www.adobe.com/devnet-apps/
|
|
photoshop/fileformatashtml/PhotoshopFileFormats.htm#50577413_52212> for
|
|
information about how TIFF files are stored on Macintosh.
|
|
|
|
/TIFF Tags
|
|
|
|
/
|
|
|
|
Tag
|
|
|
|
|
|
|
|
Name
|
|
|
|
|
|
|
|
Photoshop reads
|
|
|
|
|
|
|
|
Photoshop writes
|
|
|
|
254
|
|
|
|
|
|
|
|
NewSubFileType
|
|
|
|
|
|
|
|
Ignored
|
|
|
|
|
|
|
|
0
|
|
|
|
256
|
|
|
|
|
|
|
|
ImageWidth
|
|
|
|
|
|
|
|
1 to 30000
|
|
|
|
|
|
|
|
1 to 30000
|
|
|
|
257
|
|
|
|
|
|
|
|
ImageLength
|
|
|
|
|
|
|
|
1 to 30000
|
|
|
|
|
|
|
|
1 to 30000
|
|
|
|
258
|
|
|
|
|
|
|
|
BitsPerSample
|
|
|
|
|
|
|
|
1, 2, 4, 8, 16 (all same)
|
|
|
|
|
|
|
|
1, 8, 16
|
|
|
|
259
|
|
|
|
|
|
|
|
Compression
|
|
|
|
|
|
|
|
1 (uncompressed), 2 (CCITT), 5 (LZW), 7 (JPEG), 8 (ZIP), 32773 (PackBits)
|
|
|
|
|
|
|
|
1, 5, 7, 8
|
|
|
|
262
|
|
|
|
|
|
|
|
PhotometricInterpretation
|
|
|
|
|
|
|
|
0, 1, 2, 3, 5, 8, 9
|
|
|
|
|
|
|
|
0 (1-bit), 1 (8-bit), 2, 3,5,8
|
|
|
|
266
|
|
|
|
|
|
|
|
FillOrder
|
|
|
|
|
|
|
|
1
|
|
|
|
|
|
|
|
No
|
|
|
|
270
|
|
|
|
|
|
|
|
ImageDescription
|
|
|
|
|
|
|
|
Printing Caption
|
|
|
|
|
|
|
|
Printing Caption
|
|
|
|
271
|
|
|
|
|
|
|
|
EXIF: Make
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
272
|
|
|
|
|
|
|
|
EXIF: Model
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
273
|
|
|
|
|
|
|
|
StripOffsets
|
|
|
|
|
|
|
|
Yes
|
|
|
|
|
|
|
|
Yes
|
|
|
|
277
|
|
|
|
|
|
|
|
SamplesPerPixel
|
|
|
|
|
|
|
|
1 to 24
|
|
|
|
|
|
|
|
1 to 24
|
|
|
|
278
|
|
|
|
|
|
|
|
RowsPerStrip
|
|
|
|
|
|
|
|
Any
|
|
|
|
|
|
|
|
Single strip if not compressed, multiple strips if compressed.
|
|
|
|
279
|
|
|
|
|
|
|
|
StripByteCounts
|
|
|
|
|
|
|
|
Required if compressed
|
|
|
|
|
|
|
|
Yes
|
|
|
|
282
|
|
|
|
|
|
|
|
XResolution
|
|
|
|
|
|
|
|
Yes
|
|
|
|
|
|
|
|
Yes
|
|
|
|
283
|
|
|
|
|
|
|
|
YResolution
|
|
|
|
|
|
|
|
Ignored (square pixels assumed)
|
|
|
|
|
|
|
|
Yes
|
|
|
|
284
|
|
|
|
|
|
|
|
PlanarConfiguration
|
|
|
|
|
|
|
|
1 or 2
|
|
|
|
|
|
|
|
1
|
|
|
|
296
|
|
|
|
|
|
|
|
ResolutionUnit
|
|
|
|
|
|
|
|
2 or 3
|
|
|
|
|
|
|
|
2
|
|
|
|
305
|
|
|
|
|
|
|
|
EXIF: Software
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
306
|
|
|
|
|
|
|
|
EXIF: Date/time
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
315
|
|
|
|
|
|
|
|
EXIF: Artist
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
317
|
|
|
|
|
|
|
|
Predictor
|
|
|
|
|
|
|
|
1 or 2
|
|
|
|
|
|
|
|
1 or 2
|
|
|
|
320
|
|
|
|
|
|
|
|
ColorMap
|
|
|
|
|
|
|
|
Yes
|
|
|
|
|
|
|
|
Yes
|
|
|
|
322
|
|
|
|
|
|
|
|
TileWidth
|
|
|
|
|
|
|
|
Yes
|
|
|
|
|
|
|
|
No
|
|
|
|
323
|
|
|
|
|
|
|
|
TileLength
|
|
|
|
|
|
|
|
Yes
|
|
|
|
|
|
|
|
No
|
|
|
|
324
|
|
|
|
|
|
|
|
TileOffsets
|
|
|
|
|
|
|
|
Yes
|
|
|
|
|
|
|
|
No
|
|
|
|
325
|
|
|
|
|
|
|
|
TileByteCounts
|
|
|
|
|
|
|
|
Required if compressed
|
|
|
|
|
|
|
|
No
|
|
|
|
332
|
|
|
|
|
|
|
|
InkSet
|
|
|
|
|
|
|
|
1
|
|
|
|
|
|
|
|
No
|
|
|
|
336
|
|
|
|
|
|
|
|
DotRange
|
|
|
|
|
|
|
|
Yes, if CMYK
|
|
|
|
|
|
|
|
Yes
|
|
|
|
338
|
|
|
|
|
|
|
|
ExtraSamples
|
|
|
|
|
|
|
|
Ignored (except for count)
|
|
|
|
|
|
|
|
Photoshop 5.5 and earlier writes 0. Photoshop 6.0 and later writes 0 or
|
|
1 based on the spec.
|
|
|
|
See /Photoshop TIFF.pdf/ for additional information about tags 259 and
|
|
262.//
|
|
|
|
|
|
Photoshop-specific TIFF Tags
|
|
|
|
/Photoshop-specific TIFF tags
|
|
|
|
/
|
|
|
|
Tag
|
|
|
|
|
|
|
|
Description
|
|
|
|
330
|
|
|
|
|
|
|
|
/tSubIFD/ . Documented in the /TIFF-PM6.pdf / file as a PageMaker extension
|
|
|
|
437
|
|
|
|
|
|
|
|
JPEG tables. See /Photoshop TIFF.pdf/ for more information.//
|
|
|
|
700
|
|
|
|
|
|
|
|
XMP metadata. See /http://www.adobe.com/devnet/xmp/ <http://
|
|
www.adobe.com/devnet/xmp/>/
|
|
|
|
33723
|
|
|
|
|
|
|
|
File information (IPTC-NAA record 2: see the documents in the /IPTC/
|
|
folder of the /Documentation/ folder).
|
|
|
|
34377
|
|
|
|
|
|
|
|
Photoshop image resources (see See Image Resources Section <https://
|
|
www.adobe.com/devnet-apps/photoshop/fileformatashtml/
|
|
PhotoshopFileFormats.htm#50577409_69883>)
|
|
|
|
34665
|
|
|
|
|
|
|
|
EXIF IFD pointer. See /http://www.kodak.com/global/plugins/acrobat/en/
|
|
service/digCam/exifStandard2.pdf <http://www.kodak.com/global/plugins/
|
|
acrobat/en/service/digCam/exifStandard2.pdf>/
|
|
|
|
34675
|
|
|
|
|
|
|
|
ICC Profiles (see the /ICC1v42_2006-05.pdf/ file from the International
|
|
Color Consortium in the /Documentation/ folder of the Photoshop SDK)
|
|
|
|
34853
|
|
|
|
|
|
|
|
EXIF GPS info. See /http://www.kodak.com/global/plugins/acrobat/en/
|
|
service/digCam/exifStandard2.pdf <http://www.kodak.com/global/plugins/
|
|
acrobat/en/service/digCam/exifStandard2.pdf>/
|
|
|
|
37724
|
|
|
|
|
|
|
|
/tImageSourceData/ . Begins with the null-terminated string "/Adobe
|
|
Photoshop Document Data Block/ ", (**PSB** "/Adobe Photoshop Document
|
|
Data V0002/ "), followed by data of various types. See /Photoshop
|
|
TIFF.pdf/ for a list .
|
|
|
|
50255
|
|
|
|
|
|
|
|
/tAnnotations/ . See See Annotations <https://www.adobe.com/devnet-apps/
|
|
photoshop/fileformatashtml/PhotoshopFileFormats.htm#50577409_17312> for
|
|
details.
|
|
|
|
|
|
TIFF Files on Mac OS
|
|
|
|
For cross-platform compatibility, all information in a Macintosh TIFF
|
|
file is stored in the data fork. For interoperability with other Mac OS
|
|
applications, however, some information is duplicated in resources
|
|
stored in the resource fork of the file.
|
|
|
|
For compatibility with image cataloging applications, the /'pnot'/
|
|
resource id 0 contains references to thumbnail, keywords, and caption
|
|
information stored in other resources.
|
|
|
|
The thumbnail picture is stored in a /'PICT'/ resource, the keywords are
|
|
stored in /'STR#'/ resource 128 and the caption text is stored
|
|
in /'TEXT'/ resource 128. For more information on the format of these
|
|
resources see /Inside Macintosh: QuickTime Components/ and the /Extensis
|
|
Fetch Awareness Developer's Toolkit/ .
|
|
|
|
All of the data from Photoshop's /File Info/ dialog is stored
|
|
in /'ANPA'/ resource 10000.
|
|
|
|
/'STR '/ resource -16396 contains a string indicating the application
|
|
that created the TIFF file.
|
|
|
|
Photoshop also creates /'icl8'/ -16455 and /'ICN#'/ -16455 resources
|
|
containing thumbnail images which are shown in the Mac OS Finder.
|
|
|
|
|
|
|
|
|
|
|
|
Additional File Formats
|
|
|
|
In addition to documents that the user creates in Adobe Photoshop
|
|
(discussed in See The Photoshop File Format <https://www.adobe.com/
|
|
devnet-apps/photoshop/fileformatashtml/
|
|
PhotoshopFileFormats.htm#50577409_72092>), there are a number of
|
|
additional files used by Photoshop to store information about such items
|
|
as colors, contours, curves, levels and so forth. These are known as /
|
|
load files./
|
|
|
|
This chapter describes the format of each load file. Some of the files
|
|
can saved by the user; others are load only, as indicated in the sections.
|
|
|
|
Each file has a unique file type and file extension associated with it.
|
|
Photoshop for Macintosh recognizes either, but does not require the use
|
|
of the extension. In the file dialogs, Photoshop for Windows looks for
|
|
files with the given file extension automatically; this can be overridden.
|
|
|
|
Under Mac OS, all information is stored in the data forks of Photoshop's
|
|
load files. The files are completely interchangable with Windows or any
|
|
other platform.
|
|
|
|
Consistent byte ordering is required across platforms when reading and
|
|
writing load files. Photoshop stores multi-byte values with the high-
|
|
order bytes first, (big-endian), as on Mac OS., which is the opposite of
|
|
Windows' standard byte order.. For more information, see "Macintosh and
|
|
Windows development" in chapter 2 of /Photoshop API Guide.pdf/ .
|
|
|
|
|
|
Actions
|
|
|
|
Actions are accessed by means of the Actions palette. The object effects
|
|
use the actions mechanism to output information to the PSD file format.//
|
|
|
|
/Action file types
|
|
|
|
/
|
|
|
|
OS
|
|
|
|
|
|
|
|
Filetype/extension
|
|
|
|
Mac OS
|
|
|
|
|
|
|
|
/8BAC/
|
|
|
|
Windows
|
|
|
|
|
|
|
|
/.ATN/
|
|
|
|
Each action file comprises an /action set/ . The format of the action
|
|
file is described in the table below:
|
|
|
|
/Action file format
|
|
|
|
/
|
|
|
|
Length
|
|
|
|
|
|
|
|
Description
|
|
|
|
4
|
|
|
|
|
|
|
|
Version ( = 16)
|
|
|
|
Variable
|
|
|
|
|
|
|
|
Unicode string: <https://www.adobe.com/devnet-apps/photoshop/
|
|
fileformatashtml/PhotoshopFileFormats.htm#UnicodeStringDefine> action
|
|
set name
|
|
|
|
1
|
|
|
|
|
|
|
|
Boolean: true if set is expanded for the Actions palette
|
|
|
|
4
|
|
|
|
|
|
|
|
Number of actions in action set
|
|
|
|
The following is repeated for each action in the set
|
|
|
|
2
|
|
|
|
|
|
|
|
Index of action//
|
|
|
|
1
|
|
|
|
|
|
|
|
Boolean: true if Shift key needed for keyboard shortcut
|
|
|
|
1
|
|
|
|
|
|
|
|
Boolean: true if Command key needed for keyboard shortcut
|
|
|
|
2
|
|
|
|
|
|
|
|
Color index information
|
|
|
|
Variable
|
|
|
|
|
|
|
|
Unicode string: <https://www.adobe.com/devnet-apps/photoshop/
|
|
fileformatashtml/PhotoshopFileFormats.htm#UnicodeStringDefine> action name
|
|
|
|
1
|
|
|
|
|
|
|
|
Boolean: true if action is expanded in the Actions palette
|
|
|
|
4
|
|
|
|
|
|
|
|
Number of items in action
|
|
|
|
The following is repeated for each item
|
|
|
|
1
|
|
|
|
|
|
|
|
Boolean: true if action is expanded in the Actions palette
|
|
|
|
1
|
|
|
|
|
|
|
|
Boolean: true if action is enabled
|
|
|
|
1
|
|
|
|
|
|
|
|
Boolean: true if dialogs should be displayed
|
|
|
|
1
|
|
|
|
|
|
|
|
Options for displaying dialogs
|
|
|
|
4
|
|
|
|
|
|
|
|
Identifier: /'TEXT'/ or /'long'/
|
|
|
|
Variable
|
|
|
|
|
|
|
|
Event: if identifier is /'TEXT'/ ,4 bytes of length followed by the string;
|
|
|
|
if identifier is /'long'/ , 4 bytes of itemID//
|
|
|
|
Variable
|
|
|
|
|
|
|
|
Dictionary name: 4 bytes of length followed by the string//
|
|
|
|
4
|
|
|
|
|
|
|
|
-1 if a descriptor follows or 0 for none.
|
|
|
|
Variable
|
|
|
|
|
|
|
|
Descriptor: see Descriptor structure (See Descriptor structure <https://
|
|
www.adobe.com/devnet-apps/photoshop/fileformatashtml/
|
|
PhotoshopFileFormats.htm#50577411_21585>) for details
|
|
|
|
/Descriptor structure
|
|
|
|
/
|
|
|
|
Length
|
|
|
|
|
|
|
|
Description
|
|
|
|
Variable
|
|
|
|
|
|
|
|
Unicode string: <https://www.adobe.com/devnet-apps/photoshop/
|
|
fileformatashtml/PhotoshopFileFormats.htm#UnicodeStringDefine> name from
|
|
classID
|
|
|
|
Variable
|
|
|
|
|
|
|
|
classID: 4 bytes (length), followed either by string or (if length is
|
|
zero) 4-byte classID
|
|
|
|
4
|
|
|
|
|
|
|
|
Number of items in descriptor
|
|
|
|
The following is repeated for each item in descriptor
|
|
|
|
Variable
|
|
|
|
|
|
|
|
Key: 4 bytes ( length) followed either by string or (if length is zero)
|
|
4-byte key
|
|
|
|
4
|
|
|
|
|
|
|
|
Type: OSType key
|
|
|
|
'obj ' = Reference
|
|
|
|
'Objc' = Descriptor
|
|
|
|
'VlLs' = List
|
|
|
|
'doub' = Double
|
|
|
|
'UntF' = Unit float
|
|
|
|
'TEXT' = String
|
|
|
|
'enum' = Enumerated
|
|
|
|
'long' = Integer
|
|
|
|
'comp' = Large Integer
|
|
|
|
'bool' = Boolean
|
|
|
|
'GlbO' = GlobalObject same as Descriptor
|
|
|
|
'type' = Class
|
|
|
|
'GlbC' = Class
|
|
|
|
'alis' = Alias
|
|
|
|
'tdta' = Raw Data
|
|
|
|
Variable
|
|
|
|
|
|
|
|
Item type: see the tables below for each possible type
|
|
|
|
/Reference Structure
|
|
|
|
/
|
|
|
|
Length
|
|
|
|
|
|
|
|
Description
|
|
|
|
4
|
|
|
|
|
|
|
|
Number of items
|
|
|
|
The following is repeated for each item in reference
|
|
|
|
4
|
|
|
|
|
|
|
|
OSType key for type to use:
|
|
|
|
'prop' = Property
|
|
|
|
'Clss' = Class
|
|
|
|
'Enmr' = Enumerated Reference
|
|
|
|
'rele' = Offset
|
|
|
|
'Idnt' = Identifier
|
|
|
|
'indx' = Index
|
|
|
|
'name' =Name
|
|
|
|
Variable
|
|
|
|
|
|
|
|
Item type: see the tables below for each possible Reference type
|
|
|
|
/Property Structure
|
|
|
|
/
|
|
|
|
Length
|
|
|
|
|
|
|
|
Description
|
|
|
|
Variable
|
|
|
|
|
|
|
|
Unicode string: <https://www.adobe.com/devnet-apps/photoshop/
|
|
fileformatashtml/PhotoshopFileFormats.htm#UnicodeStringDefine> name from
|
|
classID
|
|
|
|
Variable
|
|
|
|
|
|
|
|
classID: 4 bytes (length), followed either by string or (if length is
|
|
zero) 4-byte classID
|
|
|
|
Variable
|
|
|
|
|
|
|
|
KeyID: 4 bytes (length), followed either by string or (if length is
|
|
zero) 4-byte keyID
|
|
|
|
'#Pnt' = points: tagged unit value
|
|
|
|
'#Mlm' = millimeters: tagged unit value
|
|
|
|
/Unit float structure
|
|
|
|
/
|
|
|
|
Length
|
|
|
|
|
|
|
|
Description
|
|
|
|
4
|
|
|
|
|
|
|
|
Units the following value is in. One of the following:
|
|
|
|
'#Ang' = angle: base degrees
|
|
|
|
'#Rsl' = density: base per inch
|
|
|
|
'#Rlt' = distance: base 72ppi
|
|
|
|
'#Nne' = none: coerced.
|
|
|
|
'#Prc'= percent: unit value
|
|
|
|
'#Pxl' = pixels: tagged unit value
|
|
|
|
8
|
|
|
|
|
|
|
|
Actual value (double)
|
|
|
|
/Double structure
|
|
|
|
/
|
|
|
|
Length
|
|
|
|
|
|
|
|
Description
|
|
|
|
8
|
|
|
|
|
|
|
|
Actual value (double)
|
|
|
|
/Class structure
|
|
|
|
/
|
|
|
|
Length
|
|
|
|
|
|
|
|
Description
|
|
|
|
Variable
|
|
|
|
|
|
|
|
Unicode string: <https://www.adobe.com/devnet-apps/photoshop/
|
|
fileformatashtml/PhotoshopFileFormats.htm#UnicodeStringDefine> name from
|
|
classID
|
|
|
|
Variable
|
|
|
|
|
|
|
|
ClassID: 4 bytes (length), followed either by string or (if length is
|
|
zero) 4-byte classID
|
|
|
|
/String structure
|
|
|
|
/
|
|
|
|
Length
|
|
|
|
|
|
|
|
Description
|
|
|
|
Variable
|
|
|
|
|
|
|
|
String value as Unicode string <https://www.adobe.com/devnet-apps/
|
|
photoshop/fileformatashtml/PhotoshopFileFormats.htm#UnicodeStringDefine>
|
|
|
|
/Enumerated reference
|
|
|
|
/
|
|
|
|
Length
|
|
|
|
|
|
|
|
Description
|
|
|
|
Variable
|
|
|
|
|
|
|
|
Unicode string: <https://www.adobe.com/devnet-apps/photoshop/
|
|
fileformatashtml/PhotoshopFileFormats.htm#UnicodeStringDefine> name from
|
|
ClassID.
|
|
|
|
Variable
|
|
|
|
|
|
|
|
ClassID: 4 bytes (length), followed either by string or (if length is
|
|
zero) 4-byte classID
|
|
|
|
Variable
|
|
|
|
|
|
|
|
TypeID: 4 bytes (length), followed either by string or (if length is
|
|
zero) 4-byte typeID
|
|
|
|
Variable
|
|
|
|
|
|
|
|
enum: 4 bytes (length), followed either by string or (if length is zero)
|
|
4-byte enum
|
|
|
|
/Offset structure
|
|
|
|
/
|
|
|
|
Length
|
|
|
|
|
|
|
|
Description
|
|
|
|
Variable
|
|
|
|
|
|
|
|
Unicode string: <https://www.adobe.com/devnet-apps/photoshop/
|
|
fileformatashtml/PhotoshopFileFormats.htm#UnicodeStringDefine> name from
|
|
ClassID
|
|
|
|
Variable
|
|
|
|
|
|
|
|
ClassID: 4 bytes (length), followed either by string or (if length is
|
|
zero) 4-byte classID
|
|
|
|
4
|
|
|
|
|
|
|
|
Value of the offset
|
|
|
|
/Boolean structure
|
|
|
|
/
|
|
|
|
Length
|
|
|
|
|
|
|
|
Description
|
|
|
|
1
|
|
|
|
|
|
|
|
Boolean value
|
|
|
|
/Alias structure
|
|
|
|
/
|
|
|
|
Length
|
|
|
|
|
|
|
|
Description
|
|
|
|
4
|
|
|
|
|
|
|
|
Length of data to follow
|
|
|
|
Variable
|
|
|
|
|
|
|
|
/FSSpec/ for Macintosh or a handle to a string to the full path on Windows
|
|
|
|
/List structure
|
|
|
|
/
|
|
|
|
Length
|
|
|
|
|
|
|
|
Description
|
|
|
|
4
|
|
|
|
|
|
|
|
Number of items in the list
|
|
|
|
The following is repeated for each item in list
|
|
|
|
4
|
|
|
|
|
|
|
|
OSType key for type to use. See See Descriptor structure <https://
|
|
www.adobe.com/devnet-apps/photoshop/fileformatashtml/
|
|
PhotoshopFileFormats.htm#50577411_21585> for types.
|
|
|
|
Variable
|
|
|
|
|
|
|
|
See the tables above for each possible type
|
|
|
|
|
|
|
|
|
|
/Large Integer
|
|
|
|
/
|
|
|
|
Length
|
|
|
|
|
|
|
|
Description
|
|
|
|
8
|
|
|
|
|
|
|
|
Value
|
|
|
|
|
|
|
|
|
|
/Integer
|
|
|
|
/
|
|
|
|
Length
|
|
|
|
|
|
|
|
Description
|
|
|
|
4
|
|
|
|
|
|
|
|
Value
|
|
|
|
|
|
|
|
|
|
/Enumerated descriptor
|
|
|
|
/
|
|
|
|
Length
|
|
|
|
|
|
|
|
Description
|
|
|
|
Variable
|
|
|
|
|
|
|
|
Type: 4 bytes (length), followed either by string or (if length is zero)
|
|
4-byte typeID//
|
|
|
|
Variable
|
|
|
|
|
|
|
|
Enum: 4 bytes (length), followed either by string or (if length is zero)
|
|
4-byte enum
|
|
|
|
|
|
|
|
|
|
/Raw Data
|
|
|
|
/
|
|
|
|
Length
|
|
|
|
|
|
|
|
Description
|
|
|
|
Variable
|
|
|
|
|
|
|
|
Value
|
|
|
|
|
|
Arbitrary Map
|
|
|
|
Arbitrary Map files are accessed by means of the Curves dialog (/load
|
|
only/ ).//
|
|
|
|
/Arbitrary map file types
|
|
|
|
/
|
|
|
|
OS
|
|
|
|
|
|
|
|
Filetype/extension
|
|
|
|
Mac OS
|
|
|
|
|
|
|
|
/8BLT/
|
|
|
|
Windows
|
|
|
|
|
|
|
|
/.AMP/
|
|
|
|
There is no version number written in the file.
|
|
|
|
The files are an even multiple of 256 bytes long. Each 256 bytes is a
|
|
lookup table, where:
|
|
|
|
The first byte of the table corresponds to byte zero of the image.
|
|
|
|
The last byte of the table corresponds to byte 255 of the image.
|
|
|
|
A /NULL/ table that has no effect on an image is a linear table of bytes
|
|
from 0 to 255.
|
|
|
|
If the file has one table, it is applied to the image's channels
|
|
according to these priorities:
|
|
|
|
If the image has a master composite channel, the table is applied to it.
|
|
If not, then:
|
|
|
|
If the image has a single active channel, the table is applied to it. If
|
|
not, then:
|
|
|
|
If the image has no composite channel and more than one active channel,
|
|
the table is not applied.
|
|
|
|
If the file has exactly three tables, it is applied to the image's
|
|
channels according to these priorities:
|
|
|
|
The tables are assumed to represent RGB lookups. They are applied to the
|
|
first three channels in the image, leaving the master composite
|
|
untouched. Or:
|
|
|
|
If the image has a single active channel, the tables are converted to
|
|
grayscale and the result is applied to the active channel. Or:
|
|
|
|
The first table is treated as a master. The remaining tables are applied
|
|
to the image channels in turn (second table is applied to first channel,
|
|
third table is applied to second channel, etc.).
|
|
|
|
|
|
Single active channels
|
|
|
|
Photoshop handles single active channels in a special fashion. When
|
|
saving a map applied to a single channel, only one table is written to
|
|
the file. Similarly, when reading a file for application to a single
|
|
active channel, the master table is the one that will be used on that
|
|
channel. This allows easy application of a single file to both composite
|
|
and grayscale images.
|
|
|
|
|
|
CMYK Setup
|
|
|
|
CMYK settings files are accessed in Photoshop's Color Settings dialog /
|
|
(load only)/ . //
|
|
|
|
/CMYK file types
|
|
|
|
/
|
|
|
|
OS
|
|
|
|
|
|
|
|
Filetype/extension
|
|
|
|
Mac OS
|
|
|
|
|
|
|
|
/8BIC/
|
|
|
|
Windows
|
|
|
|
|
|
|
|
/.API/
|
|
|
|
/CMYK setup file format
|
|
|
|
/
|
|
|
|
Length
|
|
|
|
|
|
|
|
Description
|
|
|
|
2
|
|
|
|
|
|
|
|
Version ( = 7)
|
|
|
|
27*2
|
|
|
|
|
|
|
|
Nine sets of three short integers specifying th\e /xyY/ (CIE) values for
|
|
the inks and their combinations. The inks are specified in the order
|
|
cyan, magenta, yellow, magenta-yellow (red), cyan-yellow (green), cyan-
|
|
magenta (blue), cyan-magenta-yellow, followed by the white and black
|
|
points. Each set is written in the order /xyY/ where:
|
|
|
|
/x/ = 0...10000, representing 0.0...1.0000. /y/ = 1...10000,
|
|
representing 0.0001...1.0000. /Y/ = 0...20000, representing 0.00...200.00.
|
|
|
|
2
|
|
|
|
|
|
|
|
Dot gain. Short integer from -10...40, representing -10%...40%.
|
|
|
|
1
|
|
|
|
|
|
|
|
Use curves. = 1 if curves table present.
|
|
|
|
1
|
|
|
|
|
|
|
|
Filler: zero
|
|
|
|
13*4*2
|
|
|
|
|
|
|
|
Only present if "use curves" = 1.
|
|
|
|
4 sets of 13 short integers specifyting the cyan, magenta, yellow, and
|
|
black curve percentages from the Dot Gain Curves dialog. 0...1000,
|
|
representing 0.0...100.0 %
|
|
|
|
Variable
|
|
|
|
|
|
|
|
Separation setup: see See Separation file format <https://www.adobe.com/
|
|
devnet-apps/photoshop/fileformatashtml/
|
|
PhotoshopFileFormats.htm#50577411_50932>
|
|
|
|
|
|
|
|
|
|
/Separation file format
|
|
|
|
/
|
|
|
|
Length
|
|
|
|
|
|
|
|
Description
|
|
|
|
2
|
|
|
|
|
|
|
|
Version ( = 300)
|
|
|
|
2
|
|
|
|
|
|
|
|
Separation type. 0 = UCR separations; 1 = GCR separations
|
|
|
|
2
|
|
|
|
|
|
|
|
Blank ink limit (0...100)
|
|
|
|
2
|
|
|
|
|
|
|
|
Total ink limit (200...400)
|
|
|
|
2
|
|
|
|
|
|
|
|
Undercolor addition for GCR separations (0...100)
|
|
|
|
Variable
|
|
|
|
|
|
|
|
Black generation (spline) curve detailed in See Black generation curve
|
|
data structure <https://www.adobe.com/devnet-apps/photoshop/
|
|
fileformatashtml/PhotoshopFileFormats.htm#50577411_15474>. See also the
|
|
Curves data format in See Curves file format <https://www.adobe.com/
|
|
devnet-apps/photoshop/fileformatashtml/
|
|
PhotoshopFileFormats.htm#50577411_32675>.
|
|
|
|
/Black generation curve data structure
|
|
|
|
/
|
|
|
|
Length
|
|
|
|
|
|
|
|
Description
|
|
|
|
2
|
|
|
|
|
|
|
|
Number of points in curve ( 2...19)
|
|
|
|
2* number of points
|
|
|
|
|
|
|
|
Each curve point is a pair of short integers where the first number is
|
|
the output value (vertical coordinate on the Black Generation dialog
|
|
graph) and the second is the input value. All coordinates have range 0
|
|
to 255. A /NULL/ curve (no change to image data) is represented by the
|
|
following five-number, ten-byte sequence in a file:
|
|
|
|
2 0 0 255 255.
|
|
|
|
The black generation curve and the UCA limit must both be present even
|
|
if the separation type is set to UCR ( = 0).
|
|
|
|
|
|
Color Books
|
|
|
|
Color book files /(Photoshop 7.0) / are automatically loaded by
|
|
Photoshop; they cannot be saved or loaded via a menu item. You can place
|
|
custom color books into the /Presets\Color Books/ folder. Use the /
|
|
Custom/ button on the Adobe color picker to access them.//
|
|
|
|
/Color book file types
|
|
|
|
/
|
|
|
|
OS
|
|
|
|
|
|
|
|
Filetype/extension
|
|
|
|
Mac OS
|
|
|
|
|
|
|
|
/8BCB/
|
|
|
|
Windows
|
|
|
|
|
|
|
|
/.ACB/
|
|
|
|
/Color book file format
|
|
|
|
/
|
|
|
|
Length
|
|
|
|
|
|
|
|
Description
|
|
|
|
4
|
|
|
|
|
|
|
|
Signature: /8BCB/
|
|
|
|
2
|
|
|
|
|
|
|
|
Version ( =1 )
|
|
|
|
2
|
|
|
|
|
|
|
|
Book ID. Existing IDs: 3000 (ANPA), 3001 (Focoltone), 3002
|
|
(PantoneCoated), 3003 (PantoneProcess), 3004 (PantoneProSlim), 3005
|
|
(PantoneUncoated), 3006 (Toyo), 3007 (Trumatch), 3008 (HKSE), 3009
|
|
(HKSK), 3010 (HKSN), 3011 (HKSZ), 3012 (DIC), 3020
|
|
(PantonePastelCoated), 3021 (PantonePastelUncoated), 3022 (PantoneMetallic)
|
|
|
|
Variable
|
|
|
|
|
|
|
|
Unicode string: <https://www.adobe.com/devnet-apps/photoshop/
|
|
fileformatashtml/PhotoshopFileFormats.htm#UnicodeStringDefine> title
|
|
|
|
Variable
|
|
|
|
|
|
|
|
Unicode string: <https://www.adobe.com/devnet-apps/photoshop/
|
|
fileformatashtml/PhotoshopFileFormats.htm#UnicodeStringDefine> prefix
|
|
|
|
Variable
|
|
|
|
|
|
|
|
Unicode string: <https://www.adobe.com/devnet-apps/photoshop/
|
|
fileformatashtml/PhotoshopFileFormats.htm#UnicodeStringDefine> postfix
|
|
|
|
Variable
|
|
|
|
|
|
|
|
Unicode string: <https://www.adobe.com/devnet-apps/photoshop/
|
|
fileformatashtml/PhotoshopFileFormats.htm#UnicodeStringDefine> description
|
|
|
|
2
|
|
|
|
|
|
|
|
Number of colors (<= 8000)
|
|
|
|
2
|
|
|
|
|
|
|
|
Colors per page (<= 9)
|
|
|
|
2
|
|
|
|
|
|
|
|
Key color page; must be less than or equal to colers per page
|
|
|
|
2
|
|
|
|
|
|
|
|
Color type. 0 = RGB; 2 = CMYK; 7 = Lab
|
|
|
|
The following are repeated for the number of colors
|
|
|
|
Variable
|
|
|
|
|
|
|
|
Unicode string: <https://www.adobe.com/devnet-apps/photoshop/
|
|
fileformatashtml/PhotoshopFileFormats.htm#UnicodeStringDefine> name
|
|
|
|
6
|
|
|
|
|
|
|
|
Unique key for the color
|
|
|
|
4
|
|
|
|
|
|
|
|
Color values: 4 bytes for CMYK; 3 bytes for RGB and Lab
|
|
|
|
|
|
Color Table
|
|
|
|
Color Table files are accessed using the Colors palette /(load only)/ .//
|
|
|
|
/Color table file types
|
|
|
|
/
|
|
|
|
OS
|
|
|
|
|
|
|
|
Filetype/extension
|
|
|
|
Mac OS
|
|
|
|
|
|
|
|
/8BCT/
|
|
|
|
Windows
|
|
|
|
|
|
|
|
/.ACT/
|
|
|
|
There is no version number written in the file. The file is 768 or 772
|
|
bytes long and contains 256 RGB colors. The first color in the table is
|
|
index zero. There are three bytes per color in the order red, green,
|
|
blue. If the file is 772 bytes long there are 4 additional bytes
|
|
remaining. Two bytes for the number of colors to use. Two bytes for the
|
|
color index with the transparency color to use. If loaded into the
|
|
Colors palette, the colors will be installed in the color swatch list as
|
|
RGB colors.
|
|
|
|
|
|
Color Swatches
|
|
|
|
Color swatch files are loaded and saved in Photoshop's Color Swatches
|
|
palette. These are typically stored in the /Color Swatches / sub-
|
|
directory in the /Presets/ directory.//
|
|
|
|
/Color swatches file types
|
|
|
|
/
|
|
|
|
OS
|
|
|
|
|
|
|
|
Filetype/extension
|
|
|
|
Mac OS
|
|
|
|
|
|
|
|
/8BCO/
|
|
|
|
Windows
|
|
|
|
|
|
|
|
/.ACO/
|
|
|
|
|
|
|
|
|
|
/Color swatches file format
|
|
|
|
/
|
|
|
|
Length
|
|
|
|
|
|
|
|
Description
|
|
|
|
2
|
|
|
|
|
|
|
|
Version ( =1 )
|
|
|
|
2
|
|
|
|
|
|
|
|
Count of colors in the file.
|
|
|
|
count *10
|
|
|
|
|
|
|
|
Colors. Each color is 10 bytes, as described in See Color structure
|
|
<https://www.adobe.com/devnet-apps/photoshop/fileformatashtml/
|
|
PhotoshopFileFormats.htm#50577411_31265>.
|
|
|
|
At the end of a version 1 file is the version 2 information.
|
|
|
|
2
|
|
|
|
|
|
|
|
Version ( = 2 )
|
|
|
|
2
|
|
|
|
|
|
|
|
Count of colors in the file. The next two fields are repeated for each
|
|
count.
|
|
|
|
count *10
|
|
|
|
|
|
|
|
Colors. Each color is 10 bytes, as described in See Color structure
|
|
<https://www.adobe.com/devnet-apps/photoshop/fileformatashtml/
|
|
PhotoshopFileFormats.htm#50577411_31265>.
|
|
|
|
Variable
|
|
|
|
|
|
|
|
Unicode string: <https://www.adobe.com/devnet-apps/photoshop/
|
|
fileformatashtml/PhotoshopFileFormats.htm#UnicodeStringDefine> color name.
|
|
|
|
/Color structure
|
|
|
|
/
|
|
|
|
Length
|
|
|
|
|
|
|
|
Description
|
|
|
|
2
|
|
|
|
|
|
|
|
The color space the color belongs to (see See Color space IDs <https://
|
|
www.adobe.com/devnet-apps/photoshop/fileformatashtml/
|
|
PhotoshopFileFormats.htm#50577411_22664>).
|
|
|
|
8
|
|
|
|
|
|
|
|
Four short unsigned integers with the actual color data. If the color
|
|
does not require four values, the extra values are undefined and should
|
|
be written as zeros. See See Color space IDs <https://www.adobe.com/
|
|
devnet-apps/photoshop/fileformatashtml/
|
|
PhotoshopFileFormats.htm#50577411_22664>.
|
|
|
|
/Color space IDs
|
|
|
|
/
|
|
|
|
Color ID
|
|
|
|
|
|
|
|
Description
|
|
|
|
0
|
|
|
|
|
|
|
|
RGB.
|
|
|
|
The first three values in the color data are /red/ , /green/ , and /
|
|
blue/ . They are full unsigned 16-bit values as in Apple's /RGBColor/
|
|
data structure. Pure red = 65535, 0, 0.
|
|
|
|
1
|
|
|
|
|
|
|
|
HSB.
|
|
|
|
The first three values in the color data are /hue/ , /saturation/ ,
|
|
and /brightness/ . They are full unsigned 16-bit values as in Apple's /
|
|
HSVColor/ data structure. Pure red = 0,65535, 65535.
|
|
|
|
2
|
|
|
|
|
|
|
|
CMYK.
|
|
|
|
The four values in the color data are /cyan/ , /magenta/ , /yellow/ ,
|
|
and /black/ . They are full unsigned 16-bit values.
|
|
|
|
0 = 100% ink. For example, pure cyan = 0,65535,65535,65535.
|
|
|
|
7
|
|
|
|
|
|
|
|
Lab.
|
|
|
|
The first three values in the color data are /lightness/ , /a
|
|
chrominance/ , and /b chrominance/ .
|
|
|
|
Lightness is a 16-bit value from 0...10000. Chrominance components are
|
|
each 16-bit values from -12800...12700. Gray values are represented by
|
|
chrominance components of 0. Pure white = 10000,0,0.
|
|
|
|
8
|
|
|
|
|
|
|
|
Grayscale.
|
|
|
|
The first value in the color data is the gray value, from 0...10000.
|
|
|
|
Photoshop allows the specification of custom colors, such as those
|
|
colors that are defined in a set of custom inks provided by a printing
|
|
ink manufacturer. These colors can be stored in the Colors palette and
|
|
streamed to and from load files. The details of a custom color's color
|
|
data fields are not public and should be treated as a black box.
|
|
|
|
See Custom color spaces <https://www.adobe.com/devnet-apps/photoshop/
|
|
fileformatashtml/PhotoshopFileFormats.htm#50577411_28552> gives the
|
|
color space IDs currently defined by Photoshop for some custom color spaces.
|
|
|
|
/Custom color spaces
|
|
|
|
/
|
|
|
|
Color ID
|
|
|
|
|
|
|
|
Name
|
|
|
|
3
|
|
|
|
|
|
|
|
Pantone matching system
|
|
|
|
4
|
|
|
|
|
|
|
|
Focoltone colour system
|
|
|
|
5
|
|
|
|
|
|
|
|
Trumatch color
|
|
|
|
6
|
|
|
|
|
|
|
|
Toyo 88 colorfinder 1050
|
|
|
|
10
|
|
|
|
|
|
|
|
HKS colors
|
|
|
|
|
|
Contours
|
|
|
|
Contour settings files /(Photoshop 6.0) / are loaded and saved in
|
|
Photoshop's Layer Effects dialog.
|
|
|
|
/Contour file types
|
|
|
|
/
|
|
|
|
OS
|
|
|
|
|
|
|
|
Filetype/extension
|
|
|
|
Mac OS
|
|
|
|
|
|
|
|
/8BFS/
|
|
|
|
Windows
|
|
|
|
|
|
|
|
/.SHC/
|
|
|
|
/Contour file format
|
|
|
|
/
|
|
|
|
Length
|
|
|
|
|
|
|
|
Description
|
|
|
|
4
|
|
|
|
|
|
|
|
Type ( = /'8BFS'/ )
|
|
|
|
2
|
|
|
|
|
|
|
|
Version ( = 1 )
|
|
|
|
4
|
|
|
|
|
|
|
|
Count of contours
|
|
|
|
The following is repeated for each contour
|
|
|
|
4
|
|
|
|
|
|
|
|
Version ( = 1 or 2)
|
|
|
|
Variable
|
|
|
|
|
|
|
|
Unicode string: <https://www.adobe.com/devnet-apps/photoshop/
|
|
fileformatashtml/PhotoshopFileFormats.htm#UnicodeStringDefine> contour name
|
|
|
|
Variable
|
|
|
|
|
|
|
|
version 1 or 2 data follows. See See Contours Version 1 <https://
|
|
www.adobe.com/devnet-apps/photoshop/fileformatashtml/
|
|
PhotoshopFileFormats.htm#50577411_94843> for version 1 and See Contours
|
|
Version 2 <https://www.adobe.com/devnet-apps/photoshop/fileformatashtml/
|
|
PhotoshopFileFormats.htm#50577411_19251> for version 2.
|
|
|
|
|
|
|
|
|
|
/Contours Version 1
|
|
|
|
/
|
|
|
|
Length
|
|
|
|
|
|
|
|
Description
|
|
|
|
2
|
|
|
|
|
|
|
|
Count of points
|
|
|
|
4* count
|
|
|
|
|
|
|
|
For each point: 4 bytes of point data (2 bytes vertical, 2 bytes horizontal_
|
|
|
|
4
|
|
|
|
|
|
|
|
Minimum input range
|
|
|
|
4
|
|
|
|
|
|
|
|
Maximum input range
|
|
|
|
|
|
|
|
|
|
/Contours Version 2
|
|
|
|
/
|
|
|
|
Length
|
|
|
|
|
|
|
|
Description
|
|
|
|
2
|
|
|
|
|
|
|
|
Count of points
|
|
|
|
4 * count
|
|
|
|
|
|
|
|
For each point: Point data (2 bytes vertical, 2 bytes horizontal)
|
|
|
|
1 * count
|
|
|
|
|
|
|
|
For each point: boolean indicating whether the point is continuous
|
|
|
|
4
|
|
|
|
|
|
|
|
Min input range
|
|
|
|
4
|
|
|
|
|
|
|
|
Max input range
|
|
|
|
|
|
Curves
|
|
|
|
Curves settings files are loaded in Photoshop's Curves dialog and Black
|
|
Generation curve dialog (from within Separation Setup Preferences).
|
|
Curves files can also be loaded into any of Photoshop's transfer
|
|
function dialogs, such as the Duotone Curve dialog from within Duotone
|
|
Options, and Print transfer dialog. Curves are saved as /.ATF/
|
|
and /.ACV/ files.
|
|
|
|
When loaded into a transfer function dialog, only the first curve in a
|
|
Curves file is used.
|
|
|
|
/Curves file types
|
|
|
|
/
|
|
|
|
OS
|
|
|
|
|
|
|
|
Filetype/extension
|
|
|
|
Mac OS
|
|
|
|
|
|
|
|
/8BSC/
|
|
|
|
Windows
|
|
|
|
|
|
|
|
/.CRV/
|
|
|
|
/Curves file format
|
|
|
|
/
|
|
|
|
Length
|
|
|
|
|
|
|
|
Description
|
|
|
|
2
|
|
|
|
|
|
|
|
Version ( = 1 or = 4)
|
|
|
|
2
|
|
|
|
|
|
|
|
Version 1 = bit map of curves in file
|
|
Version 4 = count of curves in the file
|
|
|
|
The following is the data for each curve specified by count above
|
|
|
|
2
|
|
|
|
|
|
|
|
Count of points in the curve (short integer from 2...19)
|
|
|
|
point count * 4
|
|
|
|
|
|
|
|
Curve points. Each curve point is a pair of short integers where the
|
|
first number is the output value (vertical coordinate on the Curves
|
|
dialog graph) and the second is the input value. All coordinates have
|
|
range 0 to 255. See also See Null curves <https://www.adobe.com/devnet-
|
|
apps/photoshop/fileformatashtml/PhotoshopFileFormats.htm#50577411_37810>
|
|
below.
|
|
|
|
Null curves
|
|
|
|
A /NULL/ curve (no change to image data) is represented by the following
|
|
five-number, ten-byte sequence in a file:
|
|
|
|
2 0 0 255 255
|
|
|
|
Displaying ink percentages
|
|
|
|
Photoshop allows the option of displaying ink percentages instead of
|
|
pixel values; this is a display option only and the internal data is
|
|
unchanged, with 100% ink equal to image data of 0 and 0% ink equal to
|
|
image data of 255.
|
|
|
|
Curves data order
|
|
|
|
The first curve is a master curve that applies to all the composite
|
|
channels (RGB) when in composite image mode.
|
|
|
|
The remaining curves apply to the active channels in order: curve two
|
|
applies to channel one, curve three applies to channel two, etc., up
|
|
until curve 17, which applies to channel 16.
|
|
|
|
Indexed color
|
|
|
|
The exception to the normal order, and the reason there are up to 19
|
|
curves, is when the mode is Indexed color. In this case:
|
|
|
|
The first curve is a master curve.
|
|
|
|
The next three curves are created for the Red, Green, and Blue portions
|
|
of the image's color table, and they are applied to the first channel.
|
|
|
|
The remaining curves apply to any remaining alpha channel that is
|
|
active: for instance, if channel two is active, curve five applies to
|
|
it; if channel three is active, curve six applies to it, etc., up until
|
|
curve 19, which applies to channel 16.
|
|
|
|
Single active channels
|
|
|
|
Photoshop handles single active channels in a special fashion. When
|
|
saving the curves applied to a single channel, the settings are stored
|
|
into the master curve, at the beginning of the file. Similarly, when
|
|
reading a curves file for application to a single active channel, the
|
|
master curve is the one that will be used on that channel. This allows
|
|
easy application of a single file to both RGB and grayscale images.
|
|
|
|
Additional information
|
|
|
|
At the end of the Version 1 file is the following information:
|
|
|
|
Extra level record info marker 'Crv '
|
|
|
|
/Extra curves marker
|
|
|
|
/
|
|
|
|
Length
|
|
|
|
|
|
|
|
Description
|
|
|
|
4
|
|
|
|
|
|
|
|
= 'Crv ' for extra curve information
|
|
|
|
2
|
|
|
|
|
|
|
|
Version ( = 4)
|
|
|
|
4
|
|
|
|
|
|
|
|
Count of items to follow.
|
|
|
|
The following is the data for each curve specified by count above
|
|
|
|
2
|
|
|
|
|
|
|
|
Before each curve is a channel index.
|
|
|
|
2
|
|
|
|
|
|
|
|
Count of points in the curve (short integer from 2...19)
|
|
|
|
point count * 4
|
|
|
|
|
|
|
|
Curve points. Each curve point is a pair of short integers where the
|
|
first number is the output value (vertical coordinate on the Curves
|
|
dialog graph) and the second is the input value. All coordinates have
|
|
range 0 to 255. See also See Null curves <https://www.adobe.com/devnet-
|
|
apps/photoshop/fileformatashtml/PhotoshopFileFormats.htm#50577411_37810>
|
|
below.
|
|
|
|
|
|
Custom Kernel
|
|
|
|
Kernel settings files are loaded and saved in Photoshop's Custom Filter
|
|
dialog.// .
|
|
|
|
/Custom kernel file types
|
|
|
|
/
|
|
|
|
OS
|
|
|
|
|
|
|
|
Filetype/extension
|
|
|
|
Mac OS
|
|
|
|
|
|
|
|
/8BCK/
|
|
|
|
Windows
|
|
|
|
|
|
|
|
/.ACF/
|
|
|
|
|
|
/Custom filter structure
|
|
|
|
/
|
|
|
|
Length
|
|
|
|
|
|
|
|
Description
|
|
|
|
50
|
|
|
|
|
|
|
|
Weights.
|
|
|
|
The first 25 values are the custom weights from -999...999, applied to
|
|
pixels offset from each pixel by [-2,-2] to [2,2]. The values progress
|
|
through horizontal offsets first, as follows:
|
|
|
|
{[-2,-2],[-1,-2],[ 0,-2],[ 1,-2],[ 2,-2],
|
|
|
|
[-2,-1],[-1,-1],[ 0,-1],[ 1,-1],[ 2,-1],
|
|
|
|
[-2, 0],[-1, 0],[ 0, 0],[ 1, 0],[ 2, 0],
|
|
|
|
[-2, 1],[-1, 1],[ 0, 1],[ 1, 1],[ 2, 1],
|
|
|
|
[-2, 2],[-1, 2],[ 0, 2],[ 1, 2],[ 2, 2]}
|
|
|
|
27*2
|
|
|
|
|
|
|
|
Ink colors.
|
|
|
|
Nine sets of three short integers specifying the /xyY/ (CIE) values for
|
|
the inks and their combinations. The inks are specified in the order
|
|
cyan, magenta, yellow, magenta-yellow (red), cyan-yellow (green), cyan-
|
|
magenta (blue), cyan-magenta-yellow, followed by the white and black
|
|
points. Each set is written in the order /xyY/ where:
|
|
|
|
/x/ = 0...10000, representing 0.0...1.0000. /y/ = 1...10000,
|
|
representing 0.0001...1.0000. /Y/ = 0...20000, representing 0.00...200.00.
|
|
|
|
2
|
|
|
|
|
|
|
|
Scale. Short integer from 1...9999.
|
|
|
|
2
|
|
|
|
|
|
|
|
Offset. Short integer from -9999...9999.
|
|
|
|
|
|
Duotone Options
|
|
|
|
Duotone settings files are loaded and saved in the Duotone Options
|
|
dialog..//
|
|
|
|
/Duotone file types
|
|
|
|
/
|
|
|
|
OS
|
|
|
|
|
|
|
|
Filetype/extension
|
|
|
|
Mac OS
|
|
|
|
|
|
|
|
/8BDT/
|
|
|
|
Windows
|
|
|
|
|
|
|
|
/.ADO/
|
|
|
|
|
|
/Duotone file format
|
|
|
|
/
|
|
|
|
Length
|
|
|
|
|
|
|
|
Description
|
|
|
|
2
|
|
|
|
|
|
|
|
Version ( = 1)
|
|
|
|
2
|
|
|
|
|
|
|
|
/Count/ . Number of plates in duotone spec (short integer). 1 =
|
|
Monotone; 2 = Duotone; 3 = Tritone; 4 = Quadtone.
|
|
|
|
4*10
|
|
|
|
|
|
|
|
Four ink colors, regardless of the number of plates. The contents of the
|
|
colors beyond the last plate specified by Count are undefined. Each
|
|
color is 10 bytes and described in See Duotone color structure <https://
|
|
www.adobe.com/devnet-apps/photoshop/fileformatashtml/
|
|
PhotoshopFileFormats.htm#50577411_21898>. It is identical to the format
|
|
in a Colors load file.
|
|
|
|
4*64
|
|
|
|
|
|
|
|
Four ink names, regardless of the number of plates. Each name is
|
|
streamed as a Pascal-style string with a length byte followed by the
|
|
string name. Names may not be more than 63 characters. Each name is
|
|
padded to occupy 64 bytes, including the length byte. Any names beyond
|
|
the last plate specified by /Count/ should be empty, size = 0.
|
|
|
|
4*28
|
|
|
|
|
|
|
|
Four ink curves, regardless of the number of plates. Described in See
|
|
Ink curves structure <https://www.adobe.com/devnet-apps/photoshop/
|
|
fileformatashtml/PhotoshopFileFormats.htm#50577411_18675>.
|
|
|
|
2
|
|
|
|
|
|
|
|
Dot gain ( = 20). Kept for compatability with Photoshop 2.0. Ignored.
|
|
|
|
11*10
|
|
|
|
|
|
|
|
Eleven overprint colorscolors, regardless of the number of plates. The
|
|
number of defined overprints depends on /Count/ .
|
|
|
|
Monotones = no overprint colors. Duotones = one overprint color.
|
|
Tritones = four overprint colors. Quadtones = 11 overprint colors. The
|
|
contents of the colors beyond the last defined overprint are undefined.
|
|
Each color is 10 bytes and described in See Duotone color structure
|
|
<https://www.adobe.com/devnet-apps/photoshop/fileformatashtml/
|
|
PhotoshopFileFormats.htm#50577411_21898>. It is identical to the format
|
|
in a Colors load file.
|
|
|
|
|
|
/Duotone color structure
|
|
|
|
/
|
|
|
|
Length
|
|
|
|
|
|
|
|
Description
|
|
|
|
2
|
|
|
|
|
|
|
|
The color space the color belongs to (see See Color space IDs <https://
|
|
www.adobe.com/devnet-apps/photoshop/fileformatashtml/
|
|
PhotoshopFileFormats.htm#50577411_22664>).
|
|
|
|
8
|
|
|
|
|
|
|
|
Four short unsigned integers with the actual color data. If the color
|
|
does not require four values to specify, the extra values are undefined
|
|
and should be written as zeros.
|
|
|
|
|
|
/Ink curves structure
|
|
|
|
/
|
|
|
|
Length
|
|
|
|
|
|
|
|
Description
|
|
|
|
26
|
|
|
|
|
|
|
|
Transfer curve: Array of 13 short integers from 0...1000 representing
|
|
0.0...100.0. All but the first and last value may be -1, representing no
|
|
point on the curve. Any curves beyond the last plate should be equal to
|
|
the /NULL/ curve. A /NULL/ transfer curve looks like this: 0, -1, -1,
|
|
-1, -1, -1, -1, -1, -1, -1, -1, -1, 1000.
|
|
|
|
2
|
|
|
|
|
|
|
|
Override ( = 0). Short integer for compatibility. Ignored by Photoshop
|
|
3.0 and higher. //
|
|
|
|
|
|
Halftone Screens
|
|
|
|
Halftone Screens settings files are loaded and saved in Photoshop's
|
|
Halftone Screens dialog (available from /Edit > Print with Preview/ in
|
|
Photoshop 7, or /Page Setup/ or /Print Options/ in previous versions).//
|
|
|
|
/Halftone screen file types
|
|
|
|
/
|
|
|
|
OS
|
|
|
|
|
|
|
|
Filetype/extension
|
|
|
|
Mac OS
|
|
|
|
|
|
|
|
/8BHS/
|
|
|
|
Windows
|
|
|
|
|
|
|
|
/.AHS/
|
|
|
|
|
|
/Halftone screens file format
|
|
|
|
/
|
|
|
|
Length
|
|
|
|
|
|
|
|
Description
|
|
|
|
2
|
|
|
|
|
|
|
|
Version ( = 5)
|
|
|
|
4*18
|
|
|
|
|
|
|
|
Four screen descriptions. See See Halftone screen parameter structure
|
|
<https://www.adobe.com/devnet-apps/photoshop/fileformatashtml/
|
|
PhotoshopFileFormats.htm#50577411_26125>.
|
|
|
|
Variable
|
|
|
|
|
|
|
|
For every screen that has a custom spot function, the PostScript
|
|
function text is written here, one after the other, with no header
|
|
information, in the same order as the screen settings. The size of each
|
|
custom spot is the absolute value of its negative shape code.
|
|
|
|
|
|
/Halftone screen parameter structure
|
|
|
|
/
|
|
|
|
Length
|
|
|
|
|
|
|
|
Description
|
|
|
|
4
|
|
|
|
|
|
|
|
Ink's screen frequency, in lines per inch. Binary fixed point value ;16
|
|
bits representing the integer and fractional parts from 1.0...999.999.
|
|
|
|
2
|
|
|
|
|
|
|
|
Units for the screen frequency. Lines per inch = 1; lines per centimeter
|
|
= 2. Only affects display, not screen frequency.
|
|
|
|
4
|
|
|
|
|
|
|
|
Angle for screen. Binary fixed point value with 16 bits representing the
|
|
integer and fractional parts from -180.0000 ... 180.0000, measured in
|
|
degrees.
|
|
|
|
2
|
|
|
|
|
|
|
|
Code representing the shape of the halftone dots. 0 = Round; 1 =
|
|
Ellipse; 2 = Line; 3 = Square; 4 = Cross; 6 = Diamond. Negative numbers
|
|
represent custom shapes; the absolute value is the size in bytes of the
|
|
custom spot function described in See Halftone screens file format
|
|
<https://www.adobe.com/devnet-apps/photoshop/fileformatashtml/
|
|
PhotoshopFileFormats.htm#50577411_22631>.
|
|
|
|
4
|
|
|
|
|
|
|
|
= 0. Not currently used by Photoshop.
|
|
|
|
1
|
|
|
|
|
|
|
|
Boolean. 1 = Use accurate screens; 0 = Use other.
|
|
|
|
1
|
|
|
|
|
|
|
|
Boolean. 1 = Use printer's default screens; 0 = Use other.
|
|
|
|
|
|
Hue/Saturation
|
|
|
|
Hue/Saturation settings files are loaded and saved in Photoshop's Hue/
|
|
Saturation dialog.//
|
|
|
|
/Hue/saturation file types
|
|
|
|
/
|
|
|
|
OS
|
|
|
|
|
|
|
|
Filetype/extension
|
|
|
|
Mac OS
|
|
|
|
|
|
|
|
/8BHA/
|
|
|
|
Windows
|
|
|
|
|
|
|
|
/.AHU/
|
|
|
|
|
|
/Hue/saturation file format
|
|
|
|
/
|
|
|
|
Length
|
|
|
|
|
|
|
|
Description
|
|
|
|
2
|
|
|
|
|
|
|
|
Version ( = 2)
|
|
|
|
1
|
|
|
|
|
|
|
|
0 = Use settings for hue-adjustment; 1 = Use settings for colorization.
|
|
|
|
1
|
|
|
|
|
|
|
|
Padding byte; must be present but is ignored by Photoshop.
|
|
|
|
6
|
|
|
|
|
|
|
|
Colorization.
|
|
|
|
Photoshop 5.0: The actual values are stored for the new version. Hue is
|
|
-180...180, Saturation is 0...100, and Lightness is -100...100.
|
|
|
|
Photoshop 4.0: Three short integers Hue, Saturation, and Lightness from
|
|
-100...100. The user interface represents hue as -180...180, saturation
|
|
as 0...100, and Lightness as -100...100, as the traditional HSB color
|
|
wheel, with red = 0.
|
|
|
|
6
|
|
|
|
|
|
|
|
Master hue, saturation and lightness values.
|
|
|
|
6 sets of the following 14 bytes (4 range values followed by 3 settings
|
|
values)
|
|
|
|
8: range values
|
|
|
|
|
|
|
|
For RGB and CMYK, those values apply to each of the six hextants in the
|
|
HSB color wheel: those image pixels nearest to red, yellow, green, cyan,
|
|
blue, or magenta. These numbers appear in the user interface from
|
|
-60...60, however the slider will reflect each of the possible 201
|
|
values from -100...100.
|
|
|
|
For Lab, the first four of the six values are applied to image pixels in
|
|
the four Lab color quadrants, yellow, green, blue, and magenta. The
|
|
other two values are ignored ( = 0). The values appear in the user
|
|
interface from -100 to 100.
|
|
|
|
6:settings values
|
|
|
|
|
|
Levels
|
|
|
|
Levels settings files are loaded and saved in the Levels dialog.//
|
|
|
|
/Levels file types
|
|
|
|
/
|
|
|
|
OS
|
|
|
|
|
|
|
|
Filetype/extension
|
|
|
|
Mac OS
|
|
|
|
|
|
|
|
/8BLS/
|
|
|
|
Windows
|
|
|
|
|
|
|
|
/.ALV/
|
|
|
|
|
|
/Levels file format
|
|
|
|
/
|
|
|
|
Length
|
|
|
|
|
|
|
|
Description
|
|
|
|
2
|
|
|
|
|
|
|
|
Version ( = 2)
|
|
|
|
29 * 10
|
|
|
|
|
|
|
|
29 sets of level records, each level containing 5 short integers (see
|
|
See Level record structure <https://www.adobe.com/devnet-apps/photoshop/
|
|
fileformatashtml/PhotoshopFileFormats.htm#50577411_34683>).
|
|
|
|
|
|
/Level record structure
|
|
|
|
/
|
|
|
|
Length
|
|
|
|
|
|
|
|
Description
|
|
|
|
2
|
|
|
|
|
|
|
|
Input floor (0...253)
|
|
|
|
2
|
|
|
|
|
|
|
|
Input ceiling (2...255)
|
|
|
|
2
|
|
|
|
|
|
|
|
Output floor (0...255). Matched to input floor.
|
|
|
|
2
|
|
|
|
|
|
|
|
Output ceiling (0...255)
|
|
|
|
2
|
|
|
|
|
|
|
|
Gamma. Short integer from 10...999 representing 0.1...9.99. Applied to
|
|
all image data.
|
|
|
|
Level record sets order
|
|
|
|
The first set of levels is the master set that applies to all of the
|
|
composite channels (RGB) when in composite image mode.
|
|
|
|
The remaining sets apply to the active channels individually; set two
|
|
applies to channel one, the set three to channel two, etc., up until set
|
|
25, which applies to channel 24.
|
|
|
|
Sets 28 and 29 are reserved and should be set to zeros.
|
|
|
|
Indexed color
|
|
|
|
The exception to the normal order is when the mode is Indexed:
|
|
|
|
The first set is a master set.
|
|
|
|
The next three sets are created for the Red, Green, and Blue portions of
|
|
the image's color table, and they are applied to the first channel.
|
|
|
|
The remaining sets apply to any remaining alpha channels that are
|
|
active: for instance, if channel two is active, set five applies to it;
|
|
if channel three is active, set six applies to it, etc., up until
|
|
channel 27, which applies to channel 24.
|
|
|
|
Sets 28 and 29 are reserved and should be set to zeros.
|
|
|
|
Single active channels
|
|
|
|
Photoshop handles single active channels in a special fashion. When
|
|
saving the levels applied to a single channel, the settings are stored
|
|
into the master set, at the beginning of the file. Similarly, when
|
|
reading a levels file for application to a single active channel, the
|
|
master levels are the ones that will be used on that channel. This
|
|
allows easy application of a single file to both RGB and grayscale images.
|
|
|
|
Photoshop CS (8.0) Additional information
|
|
|
|
At the end of the Version 2 file is the following information:
|
|
|
|
Extra level record info marker 'Lvls'
|
|
|
|
/Extra levels marker
|
|
|
|
/
|
|
|
|
Length
|
|
|
|
|
|
|
|
Description
|
|
|
|
4
|
|
|
|
|
|
|
|
= 'Lvls' for extra level information
|
|
|
|
2
|
|
|
|
|
|
|
|
Version ( = 3)
|
|
|
|
2
|
|
|
|
|
|
|
|
Count of total level record structures. Subtract the legacy number of
|
|
level record structures, 29, to determine how many are remaining in the
|
|
file for reading.
|
|
|
|
Variable
|
|
|
|
|
|
|
|
Additianol level records according to count. See Level record structure
|
|
<https://www.adobe.com/devnet-apps/photoshop/fileformatashtml/
|
|
PhotoshopFileFormats.htm#50577411_34683>
|
|
|
|
|
|
Monitor Setup
|
|
|
|
This format has been superseded by ICC profiles. See /
|
|
ICC1v42_2006-05.pdf/ for details.//
|
|
|
|
Monitor settings files are accessed in Photoshop's Color Settings
|
|
dialog, via the /Edit/ menu /(load only)/ .// //
|
|
|
|
/Monitor setup file types
|
|
|
|
/
|
|
|
|
OS
|
|
|
|
|
|
|
|
Filetype/extension
|
|
|
|
Mac OS
|
|
|
|
|
|
|
|
/8BMS/
|
|
|
|
Windows
|
|
|
|
|
|
|
|
/.AMS/
|
|
|
|
|
|
/Monitor setup file format
|
|
|
|
/
|
|
|
|
Length
|
|
|
|
|
|
|
|
Description
|
|
|
|
2
|
|
|
|
|
|
|
|
Version ( = 2.)
|
|
|
|
2
|
|
|
|
|
|
|
|
Gamma. Short integer from 75...300 representing 0.75...3.00.
|
|
|
|
2*2
|
|
|
|
|
|
|
|
White point. Two short integers as CIE chromaticity coordinates: /
|
|
x,y/ . /x/ = 0...10000 representing 0.0...1.0000. /y/ = 1...10000
|
|
representing 0.0001...1.0000.
|
|
|
|
6*2
|
|
|
|
|
|
|
|
Phosphors. Three sets of two integers giving /x,y/ coordinates of the
|
|
red, green, and blue phosphors. /x/ = 0...10000 representing
|
|
0.0...1.0000. /y/ = 1...10000 representing 0.0001...1.0000. In the
|
|
order /red/ /x/ , /red/ /y/ ; /green/ /x/ , /green / /y/ ; /blue / /
|
|
x/ , /blue/ /y/ .
|
|
|
|
|
|
Replace Color/Color Range
|
|
|
|
Replace Color settings files are loaded and saved in the Color Range
|
|
dialog (available via the /Select/ menu).//
|
|
|
|
/Replace color/Color range file types
|
|
|
|
/
|
|
|
|
OS
|
|
|
|
|
|
|
|
Filetype/extension
|
|
|
|
Mac OS
|
|
|
|
|
|
|
|
/8BXT/
|
|
|
|
Windows
|
|
|
|
|
|
|
|
/.AXT/
|
|
|
|
|
|
/Replace color/Color range file format
|
|
|
|
/
|
|
|
|
Length
|
|
|
|
|
|
|
|
Description
|
|
|
|
2
|
|
|
|
|
|
|
|
Version ( = 1)
|
|
|
|
2
|
|
|
|
|
|
|
|
Short integer indicating what space the color components are in. 7 = Lab
|
|
color, 8 = grayscale. No other values are supported.
|
|
|
|
6
|
|
|
|
|
|
|
|
Component ranges. Six unsigned byte values representing the range of
|
|
colors within which a pixel's color must fall to be considered selected
|
|
for color replacement, or color range selecting. Described in See
|
|
Component range structure <https://www.adobe.com/devnet-apps/photoshop/
|
|
fileformatashtml/PhotoshopFileFormats.htm#50577411_10532>.
|
|
|
|
2
|
|
|
|
|
|
|
|
Fuzziness. Short integer from 0...200 controlling how colors close to
|
|
selected colors are affected.
|
|
|
|
6
|
|
|
|
|
|
|
|
Transform settings.
|
|
|
|
When used with Replace Color: Three short integers from -100...100.
|
|
Described in See Replace color transform settings <https://
|
|
www.adobe.com/devnet-apps/photoshop/fileformatashtml/
|
|
PhotoshopFileFormats.htm#50577411_30843>.
|
|
|
|
When used with Color Range: Writes zeros into the three short integers
|
|
and ignores.
|
|
|
|
|
|
|
|
|
|
/Component range structure
|
|
|
|
/
|
|
|
|
Length
|
|
|
|
|
|
|
|
Description
|
|
|
|
1
|
|
|
|
|
|
|
|
if Lab (color space = 7): low endpoint of /L/ value
|
|
|
|
if grayscale (color space = 8): low endpoint of gray range
|
|
|
|
1
|
|
|
|
|
|
|
|
if Lab: high endpoint of /L/ value
|
|
|
|
if grayscale: 0
|
|
|
|
1
|
|
|
|
|
|
|
|
if Lab: low endpoint of /a/ chrominance value
|
|
|
|
if grayscale: 0
|
|
|
|
1
|
|
|
|
|
|
|
|
if Lab: high endpoint of /a/ chrominance value
|
|
|
|
if grayscale: 0
|
|
|
|
1
|
|
|
|
|
|
|
|
if Lab: low endpoint of /b/ chrominance value
|
|
|
|
if grayscale: low endpoint of gray range
|
|
|
|
1
|
|
|
|
|
|
|
|
if Lab: high endpoint of /b/ chrominance value
|
|
|
|
if grayscale: high endpoint of gray range
|
|
|
|
|
|
/Replace color transform settings//
|
|
|
|
/
|
|
|
|
Length
|
|
|
|
|
|
|
|
Description
|
|
|
|
2
|
|
|
|
|
|
|
|
Hue change. Short integer from -100...100.
|
|
|
|
2
|
|
|
|
|
|
|
|
Saturation change. Short integer from -100...100.
|
|
|
|
2
|
|
|
|
|
|
|
|
Lightness change Short integer from -100...100. .
|
|
|
|
|
|
Selective Color
|
|
|
|
Selective Color settings files are loaded and saved in Photoshop's
|
|
Selective Color dialog.//
|
|
|
|
/Selective color file types
|
|
|
|
/
|
|
|
|
OS
|
|
|
|
|
|
|
|
Filetype/extension
|
|
|
|
Mac OS
|
|
|
|
|
|
|
|
/8BSV/
|
|
|
|
Windows
|
|
|
|
|
|
|
|
/.ASV/
|
|
|
|
|
|
/Selective color file format
|
|
|
|
/
|
|
|
|
Length
|
|
|
|
|
|
|
|
Description
|
|
|
|
2
|
|
|
|
|
|
|
|
Version ( = 1)
|
|
|
|
2
|
|
|
|
|
|
|
|
Correction method.. 0 = Apply color correction in relative mode; 1 =
|
|
Apply color correction in absolute mode.
|
|
|
|
80
|
|
|
|
|
|
|
|
Ten eight-byte plate correction records, described in See Plate
|
|
correction structure <https://www.adobe.com/devnet-apps/photoshop/
|
|
fileformatashtml/PhotoshopFileFormats.htm#50577411_38745>.
|
|
|
|
The first record is ignored by Photoshop and is reserved for future use.
|
|
It should be set to all zeroes.
|
|
|
|
The rest of the records apply to specific areas of colors or lightness
|
|
values in the image, in the following order: reds, yellows, greens,
|
|
cyans, blues, magentas, whites, neutrals, blacks.
|
|
|
|
|
|
/Plate correction structure
|
|
|
|
/
|
|
|
|
Length
|
|
|
|
|
|
|
|
Description
|
|
|
|
2
|
|
|
|
|
|
|
|
Amount of cyan correction. Short integer from -100...100.
|
|
|
|
2
|
|
|
|
|
|
|
|
Amount of magenta correction. Short integer from -100...100.
|
|
|
|
2
|
|
|
|
|
|
|
|
Amount of yellow correction. Short integer from -100...100.
|
|
|
|
2
|
|
|
|
|
|
|
|
Amount of black correction. Short integer from -100...100.
|
|
|
|
|
|
Separation Tables
|
|
|
|
This format has been superseded by ICC profiles. See /
|
|
ICC1v42_2006-05.pdf/ for details.
|
|
|
|
Separation Table files are accessed in the Separation Tables dialog /
|
|
(load only)/ .//
|
|
|
|
/Separation table file types
|
|
|
|
/
|
|
|
|
OS
|
|
|
|
|
|
|
|
Filetype/extension
|
|
|
|
Mac OS
|
|
|
|
|
|
|
|
/8BST/
|
|
|
|
Windows
|
|
|
|
|
|
|
|
/.AST/
|
|
|
|
Format:
|
|
|
|
If the size of the file is /33 * 33 * 33 * 4/ , then the file consists
|
|
only of a
|
|
Lab->CMYK table as currently documented.//
|
|
|
|
If the size of the file is ( /33 * 33 * 33 + 256 ) * 3/ , then the file
|
|
consists only of a CMYK->Lab table as currently documented.
|
|
|
|
Otherwise, the file has the format listed in See Separation table file
|
|
format <https://www.adobe.com/devnet-apps/photoshop/fileformatashtml/
|
|
PhotoshopFileFormats.htm#50577411_37971>.
|
|
|
|
|
|
/Separation table file format
|
|
|
|
/
|
|
|
|
Length
|
|
|
|
|
|
|
|
Description
|
|
|
|
2
|
|
|
|
|
|
|
|
Version ( = 300)
|
|
|
|
1
|
|
|
|
|
|
|
|
Boolean. True if contains Lab->CMYK table.
|
|
|
|
1
|
|
|
|
|
|
|
|
Boolean. True if contains CMYK->Lab table.
|
|
|
|
33*33*33*4
|
|
|
|
|
|
|
|
If file contains Lab->CMYK table, this section contains CMYK colors for
|
|
33*33*33 Lab colors. The CMYK colors are written in interleaved order,
|
|
one byte each ink. 0 = 100%, 255 = 0%. See See Generating Lab source
|
|
colors <https://www.adobe.com/devnet-apps/photoshop/fileformatashtml/
|
|
PhotoshopFileFormats.htm#50577411_38849> below.
|
|
|
|
(33*33*33 +256)*3
|
|
|
|
|
|
|
|
If file contains CMYK->Lab table, this section contains Lab colors for
|
|
33*33*33+256 CMYK colors. The Lab colors are written in interleaved
|
|
order, one byte per component. See See Generating CMYK source colors
|
|
<https://www.adobe.com/devnet-apps/photoshop/fileformatashtml/
|
|
PhotoshopFileFormats.htm#50577411_31913> below.//
|
|
|
|
1
|
|
|
|
|
|
|
|
Boolean. True if gamut table follows.
|
|
|
|
1
|
|
|
|
|
|
|
|
If entry above is /false/ , this byte will not be present.
|
|
|
|
If /true,/ this byte should be set to 1 for compatibility.
|
|
|
|
(((33*33*33L)+7)>>3) if gamut table present, zero otherwise
|
|
|
|
|
|
|
|
Gamut table, if present. The gamut table is a bit table indexed in the
|
|
same way as the Lab->CMYK table with the high bit of the first byte at
|
|
index 0. See See Testing for bits in the gamut table <https://
|
|
www.adobe.com/devnet-apps/photoshop/fileformatashtml/
|
|
PhotoshopFileFormats.htm#50577411_94906> below.
|
|
|
|
Generating Lab source colors
|
|
|
|
The Lab colors that are the source colors can be generated from the /
|
|
Lab->CMYK/ table with the following routine:
|
|
|
|
for (i = 0; i < 33; i++)
|
|
|
|
for (j = 0; j < 33; j++)
|
|
|
|
for (n = 0; n < 33; n++)
|
|
|
|
{
|
|
|
|
L = Min (i * 8, 255);
|
|
|
|
a = Min (j * 8, 255);
|
|
|
|
b = Min (n * 8, 255);
|
|
|
|
}
|
|
|
|
Generating CMYK source colors
|
|
|
|
The CMYK colors that are the source colors can be generated from the /
|
|
CMYK->Lab/ table with the following routine:
|
|
|
|
for (i = 0; i < 33; i++)
|
|
|
|
for (j = 0; j < 33; j++)
|
|
|
|
for (n = 0; n < 33; n++)
|
|
|
|
{
|
|
|
|
c = Min (i * 8, 255);
|
|
|
|
m = Min (j * 8, 255);
|
|
|
|
y = Min (n * 8, 255);
|
|
|
|
k = 255;
|
|
|
|
}
|
|
|
|
for (i = 0; i < 256; i++)
|
|
|
|
{
|
|
|
|
c = 255;
|
|
|
|
m = 255;
|
|
|
|
y = 255;
|
|
|
|
k = i;
|
|
|
|
}
|
|
|
|
Testing for bits in the gamut table
|
|
|
|
To test the bit at /bitIndex/ , use table:
|
|
|
|
([bitIndex >> 3] & (0x0080 >> (bitIndex & 0x07))) != 0.
|
|
|
|
/bitIndex/ itself is calculated in the same way you would calculate an
|
|
index into the /Lab->CMYK/ table.
|
|
|
|
A result of /1/ indicates that the color is in gamut and /0/ indicates
|
|
that it is out of gamut.
|
|
|
|
|
|
Transfer Function
|
|
|
|
Transfer Function settings files are accessed /(load only) /in
|
|
Photoshop's Duotone Curve dialog from within Duotone Options and
|
|
Transfer Function dialogs (available from /Edit > Print with Preview/ in
|
|
Photoshop 7, or /Page Setup/ or /Print Options/ in previous
|
|
versions).Transfer Function files can also be loaded into any of
|
|
Photoshop's curves dialogs, such as the Curves color adjustment dialog.//
|
|
|
|
/Transfer function file types
|
|
|
|
/
|
|
|
|
OS
|
|
|
|
|
|
|
|
Filetype/extension
|
|
|
|
Mac OS
|
|
|
|
|
|
|
|
/8BTF/
|
|
|
|
Windows
|
|
|
|
|
|
|
|
/.ATF/
|
|
|
|
|
|
/Transfer function file format
|
|
|
|
/
|
|
|
|
Length
|
|
|
|
|
|
|
|
Description
|
|
|
|
2
|
|
|
|
|
|
|
|
Version ( = 4)
|
|
|
|
112 (= 28*4)
|
|
|
|
|
|
|
|
Four transfer functions , described in See Transfer function structure
|
|
<https://www.adobe.com/devnet-apps/photoshop/fileformatashtml/
|
|
PhotoshopFileFormats.htm#50577411_15008>.
|
|
|
|
The file always contains four functions. When writing the printer
|
|
transfer functions for grayscale images, for instance, Photoshop writes
|
|
four copies of the single transfer function specified in the user interface.
|
|
|
|
|
|
/Transfer function structure
|
|
|
|
/
|
|
|
|
Length
|
|
|
|
|
|
|
|
Description
|
|
|
|
26
|
|
|
|
|
|
|
|
Curve. Array of 13 short integers from 0...1000 representing
|
|
0.0...100.0. All but the first and last value may be -1, representing no
|
|
point on the curve. Any curves beyond the last plate should be equal to
|
|
the /NULL/ curve. A /NULL/ transfer curve looks like this: 0, -1, -1,
|
|
-1, -1, -1, -1, -1, -1, -1, -1, -1, 1000.
|
|
|
|
2
|
|
|
|
|
|
|
|
Boolean. 0 = Let printer supply curve; 1 = Override printer's default
|
|
transfer curve.
|
|
|
|
|
|
|