### Photoshop Clipboard and Initial Fill Record Formats Source: https://www.adobe.com/devnet-apps/photoshop/fileformatashtml Describes the data contained within clipboard and initial fill path records. Clipboard records store bounding box and resolution information, while initial fill records indicate the starting state for pixel filling. ```text 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. ``` -------------------------------- ### Photoshop Slices Resource Format Overview Source: https://www.adobe.com/devnet-apps/photoshop/fileformatashtml Provides an overview of how slice information is stored in Photoshop image resource blocks. It highlights version differences, noting that Photoshop 6.0 uses a basic block, while Photoshop 7.0 and later versions incorporate descriptors for individual slice data. ```text 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. ``` -------------------------------- ### Pattern Fill Setting Source: https://www.adobe.com/devnet-apps/photoshop/fileformatashtml Configures pattern fill settings in Photoshop 6.0, including a descriptor. ```APIDOC ## POST /settings/pattern-fill ### Description Configures pattern fill properties, including version and a descriptor. ### Method POST ### Endpoint /settings/pattern-fill ### Parameters #### Request Body - **version** (integer) - Required - Version of the setting (16 for Photoshop 6.0). - **descriptor** (object) - Required - Descriptor object based on the Action file format structure. - The structure of this descriptor is complex and detailed in the Action file format documentation. ### Request Example ```json { "version": 16, "descriptor": { /* ... complex descriptor object ... */ } } ``` ### Response #### Success Response (200) - **message** (string) - Confirmation of successful update. ``` -------------------------------- ### Protected Setting Source: https://www.adobe.com/devnet-apps/photoshop/fileformatashtml/PhotoshopFileFormats Defines protection flags for layers in Photoshop 6.0. ```APIDOC ## Protected Setting (Photoshop 6.0) ### Description Defines protection flags for a layer. ### Method N/A (Data Structure) ### Endpoint N/A ### Parameters #### Path Parameters N/A #### Query Parameters N/A #### Request Body - **Key** (string) - 'lspf' - **Protection flags** (bits) - Required - Bits 0-2 used for Transparency, composite, and position respectively. ``` -------------------------------- ### Gradient Settings Source: https://www.adobe.com/devnet-apps/photoshop/fileformatashtml/PhotoshopFileFormats Defines gradient settings for Photoshop 6.0. ```APIDOC ## Gradient Settings (Photoshop 6.0) ### Description Defines gradient settings. ### Method N/A (Data Structure) ### Endpoint N/A ### Parameters #### Path Parameters N/A #### Query Parameters N/A #### Request Body - **Key** (string) - 'grdm' - **Version** (2 bytes) - Required - Version ( =1 for Photoshop 6.0). - **Is gradient reversed** (1 byte) - Required - Indicates if the gradient is reversed. - **Is gradient dithered** (1 byte) - Required - Indicates if the gradient is dithered. - **Gradient Name** (Unicode string, padded) - Required - Name of the gradient. - **Number of color stops** (2 bytes) - Required - Number of color stops to follow. - **Color Stops** (repeated) - Each color stop consists of: - **Location** (4 bytes) - **Midpoint** (4 bytes) - **Mode** (2 bytes) - **Color** (4 * 2 bytes) - **Number of transparency stops** (2 bytes) - Required - Number of transparency stops to follow. - **Transparency Stops** (repeated) - Each transparency stop consists of: - **Location** (4 bytes) - **Midpoint** (4 bytes) - **Opacity** (2 bytes) - **Expansion count** (2 bytes) - Required - Expansion count ( = 2 for Photoshop 6.0). - **Interpolation** (2 bytes) - Required - Interpolation if length above is non-zero. - **Length** (2 bytes) - Required - Length (= 32 for Photoshop 6.0). - **Mode** (2 bytes) - Required - Mode for this gradient. - **Random number seed** (4 bytes) - Required - Random number seed. - **Flag for showing transparency** (2 bytes) - Required - Flag for showing transparency. - **Flag for using vector color** (2 bytes) - Required - Flag for using vector color. - **Roughness factor** (4 bytes) - Required - Roughness factor. - **Color model** (2 bytes) - Required - Color model. - **Minimum color values** (4 * 2 bytes) - Required - Minimum color values. - **Maximum color values** (4 * 2 bytes) - Required - Maximum color values. - **Dummy** (2 bytes) - Required - Not used in Photoshop 6.0. ``` -------------------------------- ### Photoshop Path Resource Format Source: https://www.adobe.com/devnet-apps/photoshop/fileformatashtml Explains the structure of path data stored in Photoshop image resource blocks. Paths are stored in 26-byte records, with specific IDs and naming conventions. It also outlines the format for clipping paths. ```text 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. ``` -------------------------------- ### Type Tool Object Setting Source: https://www.adobe.com/devnet-apps/photoshop/fileformatashtml Configures type tool object settings in Photoshop 6.0. ```APIDOC ## POST /settings/type-tool-object ### Description Configures settings for the type tool object. ### Method POST ### Endpoint /settings/type-tool-object ### Parameters #### Request Body - **version** (integer) - Required - Version of the setting (1 for Photoshop 6.0). ### Request Example ```json { "version": 1 } ``` ### Response #### Success Response (200) - **message** (string) - Confirmation of successful update. ``` -------------------------------- ### Photoshop Path Record Structure Details Source: https://www.adobe.com/devnet-apps/photoshop/fileformatashtml Details the composition of Photoshop path records, specifically focusing on subpath length records and Bezier knot records. It explains how Bezier knot records store control points and anchor points, and the concept of linked vs. unlinked knots. ```text 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. ``` -------------------------------- ### Knockout Setting Source: https://www.adobe.com/devnet-apps/photoshop/fileformatashtml/PhotoshopFileFormats Defines the knockout setting for layers in Photoshop 6.0. ```APIDOC ## Knockout Setting (Photoshop 6.0) ### Description Defines the knockout setting for a layer. ### Method N/A (Data Structure) ### Endpoint N/A ### Parameters #### Path Parameters N/A #### Query Parameters N/A #### Request Body - **Key** (string) - 'knko' - **Knockout** (boolean) - Required - Knockout setting. - **Padding** (bytes) - Required - Padding to align data. ``` -------------------------------- ### Solid Color Sheet Setting Source: https://www.adobe.com/devnet-apps/photoshop/fileformatashtml Configures solid color sheet settings in Photoshop 6.0, including a descriptor. ```APIDOC ## POST /settings/solid-color-sheet ### Description Configures settings for a solid color sheet, including version and a descriptor. ### Method POST ### Endpoint /settings/solid-color-sheet ### Parameters #### Request Body - **version** (integer) - Required - Version of the setting (16 for Photoshop 6.0). - **descriptor** (object) - Required - Descriptor object based on the Action file format structure. - The structure of this descriptor is complex and detailed in the Action file format documentation. ### Request Example ```json { "version": 16, "descriptor": { /* ... complex descriptor object ... */ } } ``` ### Response #### Success Response (200) - **message** (string) - Confirmation of successful update. ``` -------------------------------- ### Type Tool Object Setting Source: https://www.adobe.com/devnet-apps/photoshop/fileformatashtml/PhotoshopFileFormats Defines type tool object settings superseding Photoshop 5.0 info in Photoshop 6.0. ```APIDOC ## Type Tool Object Setting (Photoshop 6.0) ### Description Defines type tool object settings, superseding Photoshop 5.0 info. ### Method N/A (Data Structure) ### Endpoint N/A ### Parameters #### Path Parameters N/A #### Query Parameters N/A #### Request Body - **Key** (string) - 'TySh' - **Version** (2 bytes) - Required - Version ( =1 for Photoshop 6.0). ``` -------------------------------- ### Reference Point Source: https://www.adobe.com/devnet-apps/photoshop/fileformatashtml/PhotoshopFileFormats Defines the reference point for transformations in Photoshop 6.0. ```APIDOC ## Reference Point (Photoshop 6.0) ### Description Defines the reference point for transformations. ### Method N/A (Data Structure) ### Endpoint N/A ### Parameters #### Path Parameters N/A #### Query Parameters N/A #### Request Body - **Key** (string) - 'fxrp' - **Reference Point** (2 * double values) - Required - 2 double values for the reference point. ``` -------------------------------- ### Photoshop Color Sampler Data Structures Source: https://www.adobe.com/devnet-apps/photoshop/fileformatashtml Details the structure of color sampler data as stored in Photoshop files. It specifies the length and meaning of each field, including version, position, and color space. Note that versioning affects data interpretation. ```text 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 ) ``` -------------------------------- ### Photoshop Path Data Record Types Source: https://www.adobe.com/devnet-apps/photoshop/fileformatashtml Lists the different types of path data records used in Photoshop files, identified by a 2-byte selector. Each type corresponds to a specific kind of path information, such as subpath lengths, Bezier knots, or fill rules. ```text 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 ``` -------------------------------- ### Photoshop Path Point Representation Source: https://www.adobe.com/devnet-apps/photoshop/fileformatashtml Defines how path points are stored, using eight bytes for a pair of 32-bit components (vertical then horizontal). These are signed, fixed-point numbers with a specific range relative to image dimensions. Byte order considerations for Windows are noted. ```text 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. In Windows, the byte order of the path point components are reversed; you should swap the bytes when accessing each 32-bit value. ``` -------------------------------- ### Pattern Fill Setting Source: https://www.adobe.com/devnet-apps/photoshop/fileformatashtml/PhotoshopFileFormats Defines pattern fill settings for layers in Photoshop 6.0. ```APIDOC ## Pattern Fill Setting (Photoshop 6.0) ### Description Defines pattern fill settings for layers. ### Method N/A (Data Structure) ### Endpoint N/A ### Parameters #### Path Parameters N/A #### Query Parameters N/A #### Request Body - **Key** (string) - 'PtFl' - **Version** (4 bytes) - Required - Version ( =16 for Photoshop 6.0). - **Descriptor** (variable) - Required - Descriptor based on the Action file format structure. ``` -------------------------------- ### Blend Interior Elements Source: https://www.adobe.com/devnet-apps/photoshop/fileformatashtml/PhotoshopFileFormats Defines settings for blend interior elements within Photoshop 6.0 layers. ```APIDOC ## Blend Interior Elements (Photoshop 6.0) ### Description Settings for blend interior elements. ### Method N/A (Data Structure) ### Endpoint N/A ### Parameters #### Path Parameters N/A #### Query Parameters N/A #### Request Body - **Key** (string) - 'infx' - **Blend interior elements** (boolean) - Required - Blend interior elements setting. - **Padding** (bytes) - Required - Padding to align data. ``` -------------------------------- ### Photoshop Slices Header (Version 7/8) Source: https://www.adobe.com/devnet-apps/photoshop/fileformatashtml Details the header structure for slice data in Photoshop versions 7 and 8. It specifies the 'Version' field, indicating that values of 7 and 8 are used for this format. ```text _Slices header for version 7 or 8_ Length | Description --|-- 4 | Version ( = 7 and 8) ``` -------------------------------- ### Gradient Fill Setting Source: https://www.adobe.com/devnet-apps/photoshop/fileformatashtml/PhotoshopFileFormats Defines gradient fill settings for layers in Photoshop 6.0. ```APIDOC ## Gradient Fill Setting (Photoshop 6.0) ### Description Defines gradient fill settings for layers. ### Method N/A (Data Structure) ### Endpoint N/A ### Parameters #### Path Parameters N/A #### Query Parameters N/A #### Request Body - **Key** (string) - 'GdFl' - **Version** (4 bytes) - Required - Version ( = 16 for Photoshop 6.0). - **Descriptor** (variable) - Required - Descriptor based on the Action file format structure. ``` -------------------------------- ### Generating Lab Source Colors for Separation Tables Source: https://www.adobe.com/devnet-apps/photoshop/fileformatashtml/PhotoshopFileFormats This routine generates Lab source colors used in the Lab->CMYK table for separation files. It iterates through a 33x33x33 grid, calculating L, a, and b values based on the loop indices. ```c 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); } ``` -------------------------------- ### Solid Color Sheet Setting Source: https://www.adobe.com/devnet-apps/photoshop/fileformatashtml/PhotoshopFileFormats Defines solid color sheet settings for layers in Photoshop 6.0. ```APIDOC ## Solid Color Sheet Setting (Photoshop 6.0) ### Description Defines solid color sheet settings for layers. ### Method N/A (Data Structure) ### Endpoint N/A ### Parameters #### Path Parameters N/A #### Query Parameters N/A #### Request Body - **Key** (string) - 'SoCo' - **Version** (4 bytes) - Required - Version ( = 16 for Photoshop 6.0). - **Descriptor** (variable) - Required - Descriptor based on the Action file format structure. ``` -------------------------------- ### Vector Mask Setting Source: https://www.adobe.com/devnet-apps/photoshop/fileformatashtml Configures vector mask settings in Photoshop 6.0, including version, flags, and path components. ```APIDOC ## POST /settings/vector-mask ### Description Configures vector mask properties, including version, flags, and path components. ### Method POST ### Endpoint /settings/vector-mask ### Parameters #### Request Body - **version** (integer) - Required - Version of the setting (3 for Photoshop 6.0). - **flags** (integer) - Required - Flags: bit 1=invert, bit 2=not link, bit 3=disable. - **paths** (object) - Required - Path components, structured according to the Path resource format. - The structure of paths is detailed in the Path resource format documentation. ### Request Example ```json { "version": 3, "flags": 6, // Example: invert and not link enabled "paths": { /* ... path components object ... */ } } ``` ### Response #### Success Response (200) - **message** (string) - Confirmation of successful update. ``` -------------------------------- ### Section Divider Setting Source: https://www.adobe.com/devnet-apps/photoshop/fileformatashtml Configures section divider settings, including folder types and sub-types, for Photoshop 6.0. ```APIDOC ## POST /settings/section-divider ### Description Configures section divider properties, such as folder type and sub-type. ### Method POST ### Endpoint /settings/section-divider ### Parameters #### Request Body - **type** (integer) - Required - Type of section divider (0: any other type, 1: open folder, 2: closed folder, 3: bounding section divider). - **signature** (string) - Optional - Signature, typically '8BIM'. - **key** (string) - Optional - Blend mode key. - **sub_type** (integer) - Optional - Sub-type (0: normal, 1: scene group). ### Request Example ```json { "type": 1, "signature": "8BIM", "key": "pass", "sub_type": 0 } ``` ### Response #### Success Response (200) - **message** (string) - Confirmation of successful update. ```