您好,欢迎访问三七文档
当前位置:首页 > 办公文档 > 招标投标 > PhotoShop文件格式解析
PSD文件解析(lzgame整理)一、PSD文件结构为:文件头信息颜色映射表图像资源图层与蒙版信息图像数据二、PSD文件头信息结构typedefstructtagPSD_FILE_HEADER{DWORDsignature;WORDversion;WORDreserved1;WORDreserved2;WORDreserved3;WORDnumber_of_channels;DWORDheight_of_image;DWORDwidth_of_image;WORDdepth;WORDcolor_mode;}psd_file_header;字段名类型大小(字节)描述signaturechar4签名:总是为'8BPS'versionshort2版本:总是为1(**PSB**版本为2)reserved1-36保留:必须为0number_of_channelsshort2图片通道数量,包含所有颜色通道数和alpha通道数。支持范围为1-56height_of_imageint4图片高度像素数,支持范围为1-30,000.(**PSB**最大为300,000.)width_of_imageint4图片宽度像素数,支持范围为1-30,000.(*PSB**最大为300,000)depthshort2每像素字节数:支持的值为1,8,16.color_modeshort2颜色模式.支持的值有:Bitmap=0;Grayscale=1;Indexed=2;RGB=3;CMYK=4;Multichannel=7;Duotone=8;Lab=9.三、PSD颜色映射表,在photoshop中仅有索引色模式和双色调模式有颜色映射表,数据格式如下:1.4字节(int):颜色映射表三色总颜色数2.颜色映射表数据区:颜色映射表中保存的颜色数量为“三色总颜色数/3”,在颜色映射表中每个颜色的RGB三色被分开保存,每个颜色值2字节,依次为R通道数据区、G通道数据区、B通道数据区。可以计算得到总数据长度为“颜色映射表三色总颜色数*2字节”四、PSD图像资源,起始为4字节的图像资源数量(int),然后为图像资源数据区,图像资源的数据结构为:typedefstructtagPSD_IMAGE_RESOURCE{DWORDsignature;WORDUniqueID;BYTEnNameSize;BYTE*name;DWORDnResourceSize;BYTE*data;}psd_image_resource;字段名类型大小(字节)描述signatureInt4签名,总是为'8BIM'UniqueIDShort2资源唯一索引号nLengthByte1名称字符串长度nameCharnLength名称,Pascal字符串,长度如果为奇数,在字符串末尾追加1个字节“0”nSizeInt4实际资源数据字节数DataBytenSize实际图像资源数据,长度如果为奇数,在图像资源数据末尾追加1个字节“0”已知资源ID介绍:1.ID1005:图像分辨率,共16字节1)4字节(int):水平分辨率(像素/英寸)2)2字节(short):画布显示的水平分辨率单位,1:像素/英寸,2:厘米/英寸3)2字节(short):画布显示的宽度单位,1:英寸,2:厘米,3:点,4:派卡,5:列4)4字节(int):垂直分辨率(像素/英寸)5)2字节(short):画布显示的垂直分辨率单位,1:像素/英寸,2:厘米/英寸6)2字节(short):画布显示的高度单位,1:英寸,2:厘米,3:点,4:派卡,5:列2.ID1006:Alpha通道的名称列表,以Pascal字符串存储,即通道名称字符串长度(1字节)+通道名称(最大255字节)。可以通过计算名称数量获得总alpha通道数。3.ID1007:颜色通道信息1)10字节:颜色通道对应的颜色值:2)2字节(short):颜色值使用的颜色空间类型,颜色空间表示了PhotoShop把不同颜色模式转换为屏幕RGB显示模式的取值方式。颜色空间类型定义为:typedefenum{psd_color_space_dummy=-1,//没有颜色空间psd_color_space_rgb,//RGB颜色空间psd_color_space_hsb,//HSB颜色空间psd_color_space_cmyk,//CMYK颜色空间psd_color_space_pantone,//潘通颜色空间psd_color_space_focoltone,//FOCOLTONE颜色空间psd_color_space_trumatch,//TRUMATCH颜色空间psd_color_space_toyo,//TOYOColorFinder颜色psd_color_space_lab,//LAB颜色空间psd_color_space_gray,//灰度颜色空间psd_color_space_wide_cmyk,//宽CMYK颜色空间psd_color_space_hks,//HKS颜色空间psd_color_space_dic,//DIC颜色空间psd_color_space_total_ink,//总墨量颜色空间psd_color_space_monitor_rgb,//显示器RGB颜色空间psd_color_space_duotone,//双色调颜色空间psd_color_space_opacity//不透明颜色空间}psd_color_space;3)4x2字节(short):颜色值4)2字节(short):不透明度,取值范围为0-1005)1字节(byte):显示方式,0:选中,1:保护6)1字节:可能是用于多通道颜色模式,通常为04.ID1008:标题,以Pascal字符串存储,即标题长度(1字节)+标题(最大255字节)5.ID1024:当前图层ID号(2字节),为0表示最后一层6.ID1026:图层组信息,每个图层组ID占用2个字节,可通过计算该资源的数据长度/2得到图层组总数量7.ID1033:缩略图资源结构,同ID1036;(Photoshop4.0)8.ID1036:缩略图资源结构,缩略图信息由28字节的头信息+JFIF格式的RGB图像数据组成。(Photoshop5.0以上)1)4字节(int):缩略图格式,1为kJpegRGB,也支持kRawRGB(0).2)4字节(int):缩略图宽度像素数3)4字节(int):缩略图高度像素数4)4字节(int):每行字节数=(宽度像素数*每像素字节数+31)/32*4.5)4字节(int):总字节数=每行字节数*高度*面板数量6)4字节(int):每行后面不用的字节,用于一致性检查7)2字节(short):每像素字节数,总是为248)2字节(short):面板数量,总是为19)剩余字节:JFIF图像数据9.ID1034:Copyright标记(2字节)。Photoshop(v4.0以上)10.ID1037:全局光照角度(4字节(int)),范围为0-359,用于图层效果,默认为30。(Photoshop5.0以上)11.ID1042:显示图层效果标记(1字节),全局标记,用于显示或隐藏所有的图层效果。(Photoshop5.0以上)12.ID1045:Alpha通道的Unicode名称列表(Unicode字符串,每个字符由2个字节组成),存储格式为:通道Unicode名称字符串长度(4字节)+通道Unicode名称(字符串长度*2字节)。可以通过计算名称数量获得总alpha通道数。(Photoshop5.0以上)13.ID1046:索引颜色表颜色数量(2字节)。(Photoshop6.0以上)14.ID1047:索引颜色表中透明色的索引号(2字节)。(Photoshop6.0以上)15.ID1049:全局光源高度(GlobalAltitude)(4字节)。(Photoshop6.0以上)16.ID1053:Alpha通道ID号列表(4字节/ID号),可以通过计算ID号数量获得总alpha通道数。(Photoshop6.0以上)17.ID1057:(Photoshop6.0)版本信息1)4字节(int):版本号2)1字节(bool):有真实的图像混合数据标记3)4字节(int):作者名称Unincode字符串长度4)2字节(wchar)*作者名称字符串长度:作者名称5)4字节(int):读者名称Unincode字符串长度6)2字节(wchar)*读者名称字符串长度:读者名称7)4字节(int):当前文件版本18.ID2000-2998:Photoshop路径资源,ID范围为2000-2998。路径资源数据由26字节的资源块组成,总长度为26x路径资源数量起始的2字节(short)为路径资源类型,余下24字节根据类型,注释如下:1)类型0:关闭的路径;类型3:打开的路径;a)2字节(short):路径中的贝塞尔节点数量b)22字节:总是为02)类型1:关闭的贝塞尔节点,连接;类型2:关闭的贝塞尔节点,未连接;类型4:打开的贝塞尔节点,连接;类型5:打开的贝塞尔节点,未连接;a)4字节(int):节点前控制点Y坐标b)4字节(int):节点前控制点X坐标c)4字节(int):节点Y坐标d)4字节(int):节点X坐标e)4字节(int):节点后控制点Y坐标f)4字节(int):节点后控制点X坐标3)类型6:路径填充规则24字节4)类型7:路径剪切范围a)4字节(int):路径剪切范围Topb)4字节(int):路径剪切范围Leftc)4字节(int):路径剪切范围Bottomd)4字节(int):路径剪切范围Righte)4字节(int):路径剪切范围分辨率f)4字节(int):总是为05)类型8:路径填充a)2字节(short):填充的值b)22字节:总是为019.ID2999:EPS文件剪切路径(暂无资料)以下为脱离了Photoshop可能就没用的图像资源:20.ID1009:打印边框(边界)信息1)(2字节实际数据,2字节分数):打印边框宽度,固定值2)2字节(short):打印边框单位,1为英寸,2为厘米,3为点,4为派卡,5为列21.ID1011:打印设置标记1)1字节(bool):打印标签标记2)1字节(bool):打印角裁剪标记3)1字节(bool):打印颜色条标记4)1字节(bool):打印套准标记5)1字节(bool):负片打印标记6)1字节(bool):药膜向下标记7)1字节(bool):插入说明标记8)1字节(bool):打印标题标记9)1字节(bool):打印出血标记22.ID1032:网格线信息(Photoshop4.0以上)1)4字节(int):版本号,总是为12)4字节(int):水平方向网格线数量3)4字节(int):垂直方向网格线数量4)4字节(int):网格线总数(可以为0)以下5字节/组*网格线总数5)4字节(int):网格线坐标列表6)1字节(byte):网格线类型,0为垂直网格线,1为水平网格线23.ID1038:颜色样板资源(Photoshop5.0以上)1)4字节(int):版本号,总是为12)4字节(int):颜色样板数量以下10字节/组*颜色样板数量3)4字节(int):颜色垂直位置4)4字节(int):颜色水平位置5)2字节(short):颜色空间类型24.ID1050:切片资源(Photoshop6.0以上)1)4字节(int):版本号,总是为62)4字节(int):切片范围top3)4字节(int):切片范围left4)4字节(int):切片范围bottom5)4字节(int):切片范围right6)4字节(int)+字符串长度*2:切片资源名称Unicode字符串长度+切片资源名称7)4字节(int):切片数量8)各个切片的详细信息a)4字节(int):切片IDb)4字节(int):切片组ID,为0表示不是用户切片c)4字节(int):关联图层数量d)0或4字
本文标题:PhotoShop文件格式解析
链接地址:https://www.777doc.com/doc-4267650 .html