psd格式是怎么样的

首页 > 教育 > 作者:YD1662024-04-05 07:27:11

类型

Bitmap

颜色

Unlimited

压缩

Uncompressed, RLE

最大图像尺寸

30,000x30,000

单文件包含多图像

No

Numerical Format

Big-endian

厂商

Adobe

平台

Microsoft Windows, Apple Macintosh

支持的应用

Adobe Photoshop, Adobe Premiere, desktop publishing programs

参考

Macintosh Paint, TIFF

使用
存储在 Adobe Photoshop 环境中更改或操作的图像。

psd格式是怎么样的,(1)

说明
一种灵活的格式,易于读取和写入,但缺乏卓越的压缩方案。它为不同的颜色存储方案提供了特别好的支持。

供应商规范可用于此格式。

示例图像可用于此格式。


Adobe的Photoshop可能是PC和Macintosh世界中功能最齐全,最受推崇的商业图像处理位图处理程序。它的广泛分布意味着图像数据通常留在PSD格式文件中,并且在原始图像数据早已消失后可能会以这种形式保留。

Photoshop 用户通常是处理真彩色图像的专业人士。图像可能非常大,Photoshop用户应有足够的内存来加载和操作大文件。Adobe选择优化Photoshop系统中的读写速度,这反映在PSD格式中包含的RLE压缩中。因此,文件并不像使用其他压缩方法时那么小。虽然这在配备 Photoshop 的工作站的上下文中是有意义的,但缺乏卓越的压缩方案可能阻止了 PSD 作为通用交换格式变得更加流行。由于 PSD 是特定于应用程序的格式,因此预计它将来会发生变化。

在Microsoft Windows下,Photoshop文件与PSD后缀一起存储,可以通过查找文件ID值8BPS来识别。在Macintosh上,Photoshop文件仅是资源分叉,数据由文件ID值8BPS识别。

该格式的早期版本没有压缩,并且与Macintosh平台绑定。

文件组织结构

PSD文件由一个标题和三个信息部分组成,分别称为模式块,图像资源块以及图层和掩码信息块。这些之后是实际的图像数据。标头是一系列固定字段,其他块是可变长度的.

Header 头

Color Mode Data Block 颜色模式数据区

Image Resources Block 图像资源数据区

Layer and Mask Information Block 图层数据区

Image Data 图像数据区

File Details 文件细节

本节介绍 PSD 文件的各个部分的详细信息。

Header 文件头

标头的长度为 26 字节,结构如下:

typedef struct _PSD_HEADER { BYTE Signature[4]; /* File ID "8BPS" */ WORD Version; /* Version number, always 1 */ BYTE Reserved[6]; /* Reserved, must be zeroed */ WORD Channels; /* Number of color channels (1-24) including alpha channels */ LONG Rows; /* Height of image in pixels (1-30000) */ LONG Columns; /* Width of image in pixels (1-30000) */ WORD Depth; /* Number of bits per channel (1, 8, and 16) */ WORD Mode; /* Color mode */ } PSD_HEADER;

v2.5 文件中仅支持 1-16 的通道值。同样在 v2.5 中,仅支持每通道 1 位和 8 位的深度值。

模式字段中的数据指定如何解释图像。

Mode

Description

0

Bitmap (monochrome)

1

Gray-scale

2

Indexed color (palette color)

3

RGB color

4

CMYK color

7

Multichannel color

8

Duotone (halftone)

9

Lab color

Color Mode Data Block 颜色模型数据区

标题后面是颜色模式数据块。此块的开头是一个 LONG 数字,采用大端格式,以字节为单位指定块的长度。以下数据的性质与标头的模式字段的值有关。如果模式字段值不是 2 或 6,则块的长度将为零,并且 4 字节长度字段后面不会有数据。但是,如果模式字段值为 2,表示索引颜色,则以下 768 字节将包含 256 个调色板。如果模式字段值为 6,表示双色调数据,则以下数据可能由屏幕参数和其他相关信息组成。不幸的是,Adobe故意没有记录它,建议非Photoshop读者将双色调图像视为灰度图像。

Image Resources Block 图像资源数据区

颜色模式数据块之后是图像资源块。与颜色模式数据块一样,前四个字节是大端格式的 LONG 数字,指定块的长度。以下数据由与图像关联的非像素数据组成。图像资源块中的信息存储在Macintosh平台上运行的早期Photoshop版本的资源分支中。

struct _ColorModeDataBlock { BYTE Type[4]; /* Always "8BIM" */ WORD ID; /* (See table below) */ byte Name[]; /* Even-length Pascal-format string, 2 bytes or longer */ LONG Size; /* Length of resource data following, in bytes */ BYTE Data[]; /* Resource data, padded to even length */ };

数据的格式由 ID 字段中的值确定,该字段可以具有以下值:

ID

Data Format

Description

03e8

WORD[5]

Channels, rows, columns, depth, and mode

03e9

Optional Macintosh print manager information

03eb

Indexed color table

03ed

(See below)

Resolution information

03ee

BYTE[]

Alpha channel names (Pascal-format strings)

03ef

(See below)

Display information for each channel

03f0

BYTE[]

Optional Pascal-format caption string

03f1

LONG, WORD

Fixed-point border width, border units (see below)

03f2

Background color

03f3

BYTE[8]

Print Flags (see below)

03f4

Gray-scale and halftoning information

03f5

Color halftoning information

03f6

Duotone halftoning information

03f7

Gray-scale and multichannel transfer function

03f8

Color transfer functions

03f9

Duotone transfer functions

03fa

Duotone image information

03fb

BYTE[2]

Effective black and white value for dot range

03fc

03fd

EPS options

03fe

WORD, BYTE

Quick Mask channel ID, flag for mask initially empty

03ff

0400

WORD

Index of target layer (0=bottom)

0401

Working path

0402

WORD[]

Layers group info, group ID for dragging groups

0403

0404

IPTC-NAA record

0405

Image mode for raw-format files

0406

JPEG quality (Adobe internal)

07d0-0bb6

Saved path information

0bb7

Clipping pathname

2710

(See below)

Print flags information

ID 值 03e8、03eb、03ff 和 0403 被视为已过时。值 03e8 和 03eb 与 Photoshop v2.0 相关联。Adobe 有意未记录值 03f2、03f4-03fa、03fc、03fd、0405-0bb7 的数据格式,或者缺少数据。請參閱 Adobe Photoshop SDK,瞭解有關取得 IPTC-NAA record 2 結構定義的信息。

ID 值 03ed 表示数据采用分辨率信息结构的形式:

typedef struct _ResolutionInfo { LONG hRes; /* Fixed-point number: pixels per inch */ WORD hResUnit; /* 1=pixels per inch, 2=pixels per centimeter */ WORD WidthUnit; /* 1=in, 2=cm, 3=pt, 4=picas, 5=columns */ LONG vRes; /* Fixed-point number: pixels per inch */ WORD vResUnit; /* 1=pixels per inch, 2=pixels per centimeter */ WORD HeightUnit; /* 1=in, 2=cm, 3=pt, 4=picas, 5=columns */ } RESOLUTIONINFO;

ID 值 03ef 表示数据存储为 DisplayInfo 结构,该结构包含与每个通道关联的显示信息:

typedef _DisplayInfo { WORD ColorSpace; WORD Color[4]; WORD Opacity; /* 0-100 */ BYTE Kind; /* 0=selected, 1=protected */ BYTE padding; /* Always zero */ } DISPLAYINFO;

ID 值 03f3 指示数据是一系列八个标志,指示“Photoshop 页面设置”对话框中标签、裁切标记、颜色条、套准标记、负片、翻转、插值和题注项目的启用状态。

ID 值 2710 表示“数据”部分包含 WORD 长度版本号(应为 1)、指示裁剪标记的字节长度标志、字节长度字段(应为 0)、长出血宽度值和指示出血宽度刻度的 WORD。

Layer and Mask Information Block 图层和遮罩 信息数据区

“图像资源”块之后是“图层和蒙版信息”块,其结构类似于“颜色模式数据”和“图像资源”块。在 Photoshop v2.5 生成的 PSD 文件中,4 字节图层和蒙版信息块长度字段包含设置为零的 LONG 数字,不包含图层或蒙版信息的 vers3.0 文件也是如此。建议PSD文件编写者,这是一个可能在PSD格式的未来版本中更改或扩展的区域。首先存储此 bock 中的图层信息,然后存储掩膜信息。

Layer Information 图层信息

“图层和掩膜信息”块的“图层”部分以指定“图层信息”部分长度的 LONG 值开头。接下来是要遵循的图层记录数的 WORD 值计数。图层记录按顺序排列;他们的组织描述如下。请注意,图层记录的大小因文件而异,具体取决于图像中的通道数。图像中的每个图层都有一个图层记录。

Data Structure

Field Name

Description

LONG

Top

Rectangle bounding the layer

LONG

Left

LONG

Bottom

LONG

Right

WORD

Channels

Number of channels in the layer

以下下一个区域包含一系列通道长度信息记录,定义如下:

typedef struct _CLI { WORD ChannelID; /* Channel Length Info field one */ LONG LengthOfChannelData; /* Channel Length Info field two */ } CLI;

Data Structure

Field Name

Description

CLI

Channel Length Info #1

CLI

Channel Length Info #2


.
.
.

CLI

Channel Length Info #n

BYTE[4]

Blend Mode Signature

Always "8BIM"

BYTE[4]

Blend Mode Key

(See table below)

BYTE

Opacity

0-255 (transparent to opaque)

BYTE

Clipping

0=base, 1=non-base

BYTE

Flags

bit 0 = transparency protected, bit 1 = visible

BYTE

Padding

Set to zero

LONG

ExtraDataSize;

以下区域是图层蒙版数据部分。如果没有图层掩码,则大小(第一个 LONG 值)设置为零,并且图层掩码数据部分的长度为 4 个字节。如果该值不为零,则图层掩码数据部分的长度为 24 字节。

Data Structure

Field Name

Description

LONG

Size

LONG

Top

Rectangle bounding layer mask

LONG

Left

LONG

Bottom

LONG

Right

BYTE

DefaultColor

0 or 255

BYTE

Flags

Bit 0=position, bit 1=layer mask disabled, bit 2=invert layer mask

WORD

padding

Set to zero

以下区域包含定义图层混合范围的信息。接下来是一系列记录,定义每个颜色通道的源和目标范围。每个源和目标字段由两个黑色值 (0-255) 后跟两个白色值 (0-255) 组成。每个通道源和目标范围记录具有以下格式:

typedef struct _CSDR { BYTE Source[4]; /* First Channel Source Range */ BYTE Dest[4]; /* First Channel Destination Range */ } CSDR;

Data Structure

Field Name

Description

LONG

Size

Total length of layer blending data

BYTE[4]

Gray Blend Source

BYTE[4]

Gray Blend Destination

CSDR

Channel Source Range #1

CSDR

Channel Source Range #2


.
.
.

CSDR

Channel Source Range #n

BYTE[]

Layer Name

Pascal string, padded to multiple of 4 bytes

“混合模式键”字段可以包含以下 ASCII 键:

Key

Meaning

norm

Normal

dark

Darken

lite

Lighten

hue

Hue

sat

Saturation

colr

Color

lum

Luminosity

mul

Multiply

scrn

Screen

diss

Dissolve

over

Overlay

hLit

Hard light

sLit

Soft light

diff

Difference

图层记录列表后面是通道图像数据。通道图像数据以 8 位位图的形式存储。第一个 WORD 值包含有关压缩的信息:0 表示数据未压缩,1 表示数据已 RLE 压缩。此 WORD 后面是实际的通道图像数据。数据的长度等于图像中的像素数,可以从边界框计算。但是,可以使用下面描述的PackBits算法对数据进行RLE压缩。如果通道图像的长度为奇数,则插入一个填充字节,以使图像的末尾落在 WORD 边界上。

Mask Information 遮罩信息

遮罩信息由一个或多个具有以下格式的掩码信息结构组成:

Data Structure

Field Name

Description

WORD

Overlay Color Space

(Not documented)

BYTE[8]

Color Components

4x2 byte color components

WORD

Opacity

0=transparent, 1=opaque

BYTE

Kind

0=inverted, 1=protected, 128=use stored value

BYTE

padding

set to zero

Image Data 图像数据

图层和掩膜信息块后面是一个 WORD,其中包含充当压缩标志的值。如果该标志设置为 (为 1),则图像数据将进行 RLE 压缩。

图像数据按照标头及其前面的压缩值中的指示进行存储。如果数据被压缩,则每行前面都有一个 WORD,其中包含一个值,指示与该行关联的数据的长度(以字节为单位)。线条按扫描线顺序存储,不带填充。多平面数据(可能压缩也可能不压缩)按顺序存储为一系列平面。也就是说,首先存储红色数据,然后存储绿色数据,然后存储蓝色数据。如果数据是多平面的,则每行开头的 WORD 是与每条扫描线关联的总数据的大小(以字节为单位)(行中行乘以通道数)。

数据使用Macintosh ROM PackBit编码方案进行压缩,该方案也是TIFF标准的一部分。扫描线数据读取的第一个字节是运行计数。如果设置了 MSB,则字节将转换为其 2 的补码值,并且下一个字节读取将重复该次数。如果 MSB 为零,则将 1 添加到计数中,并读取下一个 RunCount 字节。在伪代码中,这是:

Zero BytesRead and Count Read WORD LengthOfLineInBytes Read a byte of data Increment BytesRead If high bit is one Count is two's complement of byte Read next byte Write this value Count times If high bit is zero Count is byte value plus one Read next byte and write value Count times Increment BytesRead If BytesRead equals LengthOfLine the scan-line is done

请记住,LengthOfLineInBytes 是指与当前扫描线关联的所有数据。如果图像数据是多平面的,则必须相应地调整字节读取。

Adobe Photoshop Raw 文件格式

Photoshop Raw 文件格式用于将数据从无法写入 Photoshop 识别的文件格式的应用程序导入到 Photoshop。Raw 格式还用于从 Photoshop 导出可由此类应用程序读取的数据。

Raw 格式文件是一个未压缩的二进制文件,仅包含图像数据,不包含标题或调色板信息。导入文件时,必须在 Photoshop 中输入页眉数据。

Raw 文件数据只不过是一系列像素值,从图像中的左上角像素开始,一直向下。每个值都存储为 BYTE,其值范围为 0(黑色或最不强烈)到 255(白色或最强烈)。RGB 像素始终以红-绿-蓝顺序存储,CMYK 像素始终以青色-品红色-黄色键顺序存储。

要导入原始文件,请从“文件”菜单中选择“打开”项,然后单击“显示所有文件”。从“文件”弹出式菜单中选取“原始”,然后点按“打开”以显示“原始”对话框。输入图像的宽度和高度(以像素为单位)(1 到 30,000)、颜色通道数(1 表示灰度和调色板颜色,3 表示 RGB,4 表示 CMYK 等)以及标题大小(默认值为 0)。单击“确定”。

导出原始文件时,仅将图像数据保存到文件中,并且所有关联的标题和调色板数据都将丢失。导入原始文件时,必须重新输入此数据。若要导出原始文件,请从“文件”菜单中选取“存储为”,从“存储为”弹出式菜单中选取“原始”以显示“原始”对话框。输入用于标识原始文件的文件类型和文件创建者值、标头值(默认值为 0)和交错顺序(交错为默认值)。单击“确定”。

psd格式是怎么样的,(2)

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.