博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PSD解析工具实现(三)
阅读量:6040 次
发布时间:2019-06-20

本文共 1237 字,大约阅读时间需要 4 分钟。

hot3.png

接下来的Color mode Data跟Image Resources经过研究,在这里,这部分数据没有用到,所以直接把他们所占用的字节长度给读取出来过滤掉:

Color mode data:

public final class PsdColorModeDataVo	{		public var len:int;				public var data:ByteArray;				public function parse(ba:FileStream):void		{			data = new ByteArray();			len = ba.readInt(); //rgb是0			if(0 != len)			{				ba.readBytes(data, 0, len); 			}		}	}

Image Resources:

public final class PsdImageResourcesVo	{		public var len:int;		public var data:ByteArray;				private var osType:String; 		private var id:Number;		private var pName:String;		private var size:int;				public function parse(ba:FileStream):void		{			data = new ByteArray();			len = ba.readInt();			if(0 != len)			{				ba.readBytes(data, 0, len);				osType = data.readUTFBytes(4);				id = data.readShort();				pName = data.readUTF();				size = data.readInt();			}		}	}

Layer and Mask才是我们要重点关注的部分,这部分包含了所有的图层信息,后面也只是对这部分的数据进行操作,所以这里先把它的数据读取出来,存着:

public final class PsdLayerAndMaskVo	{		public var len:int;		public var data:ByteArray;				public function parse(ba:FileStream):void		{			data = new ByteArray();			len = ba.readInt();			if(0 != len)			{				ba.readBytes(data, 0, len); 			}		}	}

经过上面的几次读取,剩下来的就是Image data部分,这部分也不管它。

转载于:https://my.oschina.net/u/185335/blog/646895

你可能感兴趣的文章
freemarker中日期的比较
查看>>
特殊用法
查看>>
Linux service管理自定义脚本
查看>>
mysql创建date数据类型
查看>>
linux开机图形界面和字符界面切换
查看>>
sphinx的安装
查看>>
scsi_cnmd.h
查看>>
ESXi5中win2003使用LSI logic SAS磁盘
查看>>
一个java对象占多少内存空间
查看>>
发快递激光焊接客服电话关机后发的
查看>>
MySQL 几种连接方式配置
查看>>
线上追踪类方法执行耗时
查看>>
恩布企业IM,协同办公平台发布V1.24版本
查看>>
媒体查询引入的三种方式
查看>>
Serv-U Passive被动模式端口设置
查看>>
字符编码的知识
查看>>
js的history.pushstate()作用
查看>>
Hadoop 源代码分析(一七)DataNode
查看>>
Linux学习之CentOS(四)--Linux系统的启动级别
查看>>
linux发展史
查看>>