收藏 分享(赏)

图象格式编程指南.docx

上传人:oceanpvg 文档编号:2371511 上传时间:2018-09-14 格式:DOCX 页数:213 大小:674.21KB
下载 相关 举报
图象格式编程指南.docx_第1页
第1页 / 共213页
图象格式编程指南.docx_第2页
第2页 / 共213页
图象格式编程指南.docx_第3页
第3页 / 共213页
图象格式编程指南.docx_第4页
第4页 / 共213页
图象格式编程指南.docx_第5页
第5页 / 共213页
点击查看更多>>
资源描述

1、图 象 格 式 编 程 指 南董 士 海 郑 全 战 徐 曦 佘 晓 萍 编 著清 华 大 学 出 版 社( 京 ) 新 登 字 158 号内 容 简 介本 书 讲 述 了 PC 机 环 境 下最 常 见 的 图 象 格 式 , 如 GIF、 T IF F、 BMP、 PCX、 IMG 等 , 以 及 处 理 图象 时 需 要 涉 及 的 CGA、 EGA、 VGA、 超 级 VGA 显 示 卡 的 显 示 驱 动 , PostScript 打 印 机 , 抖 动 技 术 和 图 象 格 式 间 的 相 互 转 换 。本 书 在 介 绍 图 象 格 式 时 提 供 了 大 量 的 程 序 实

2、例 , 并 全 部 上 机 调 试 通 过 , 相 信 会 对 读 者 有 所 帮 助 。 全 部 源 程 序 和 编 译 后 的 可 执 行 程 序 都 存 放 在 一 张 高 密 盘 上 , 由 清 华 大 学 出 版 社 软 件 部 正式 出 版 发 行 , 该 软 盘 定 价 120 元 。本 书 可 供 PC 机 软 件 开 发 和 应 用 人 员 参 考 , 对 计 算 机 图 象 处 理 有 关 的 人 员 也 很 适 用 。 C 版 权 所 有 , 翻 印 必 究 。本 书 封 面 贴 有 清 华 大 学 出 版 社 激 光 防 伪 标 签 , 无 标 签 者 不得 销 售 。

3、图 象 格 式 编 程 指 南董 士 海 郑 全 战 徐 曦 佘 晓 萍 编 著清 华 大 学 出 版 社 出 版 北 京 清 华 园国 防 工 业 出 版 社 印 刷 厂 印 刷 新 华 书 店 总 店 科 技 发 行 所 发 行开 本 : 78 7 1 0 92 1/ 1 6 印 张 : 1 8 .5 字 数 : 4 3 8 千 字1 9 94 年 4 月 第 1 版 1 9 95 年 3 月 第 3 次 印 刷印 数 : 1000115000ISBN 7-302-01436-1/ TP561定 价 : 15 .80 元前 言计 算 机 图 象 在 计 算 机 领 域 正 占 据 越 来

4、越 重 要 的 地 位 。 高 分 辨 率 显 示 器 、 扫 描 仪 、 高 档 激光 打 印 机 为 高 质 量 图 象 的 显 示 、 输 入 和 输 出 提 供 了 硬 件 环 境 , CorelDRAW 、 Micrografx Designer、 Microsoft PowerPoint、 Photostyler 等 图 形 图 象 处 理 软 件 为 图 象 的 处 理 提 供 了 很 好 的 软 件 环 境 。 正 在 兴 起 的 多 媒 体 技 术 , 其 中 一 个 重 要 的 内 容 就 是 对 图 象 的 支 持 。图 象 资 源 正 变 得 越 来 越 丰 富 。 这

5、 些 资 源 能 否 为 我 所 用 ? 当 我 们 涉 及 这 个 问 题 时 , 就 应 该 去 了 解 各 种 各 样 的 图 象 格 式 。本书 讲 述 了 PC 机 环 境 下 最 常 见 的 几 种 图 象 格 式 , 如 GIF、 T I FF、 BMP、 PCX、 IMG等 , 以 及 处 理 图 象 时 需 要 涉 及 的 CGA、 EGA、 VGA、 超 级 VGA 显 示 卡 的 显 示 驱 动 ,PostScrip t 打 印 机 的 图 象 输 出 , 抖 动 技 术 和 图 象 格 式 间 的 相 互 转 换 。 本 书 具 体 章 节 安 排 如 下 :第 1 章

6、 总 体 上 介 绍 了 图 象 格 式 的 解 压 缩 、 可 能 的 文 件 头 以 及 处 理 图 象 时 需 要 注 意 的问 题 。第 2 至 7 章 依 次 介 绍 MacPain t、 IM G、 PCX、 BMP、 GIF、 T I FF 图 象 格 式 的 解 压 缩 以 及生 成 过 程 , 每 章 都 有 具 体 而 丰 富 的 程 序 实 例 。第 8 章 与 第 9 章 分 别 介 绍 CGA、 EGA、 VGA、 超 级 VGA 显 示 卡 的 单 色 与 彩 色 显 示 驱动 。第 10 章 讲 述 Pos tScript 打 印 机 输 出 图 象 时 的 程

7、序 驱 动 。 第 11 章 讲 述 图 象 处 理 中 的 重 要 技 术 抖 动 技 术 。第 12 章 介 绍 图 象 格 式 间 的 相 互 转 换 。 本 书 在 介 绍 图 象 格 式 时 提 供 了 大 量 的 程 序 实 例 , 并 全 部 上 机 调 试 通 过 , 相 信 会 对 读 者有 所 帮 助 。 本 书 全 部 源 程 序 可 通 过 清 华 大 学 出 版 社 软 件 部 ( 邮 编 : 100084 ) 购 取 。 本 书 由 郑 全 战 、 徐 曦 、 佘 晓 萍 共 同 编 写 , 由 董 士 海 、 郑 全 战 最 后 定 稿 。 在 录 入 时 得 到

8、 了倪 仲 君 的 大 力 支 持 , 在 此 致 谢 。由 于 编 写 者 水 平 有 限 , 书 中 错 误 在 所 难 免 , 欢 迎 广 大 读 者 给 予 批 评 、 指 正 。编 者 于 北 京 大 学 计 算 机 系 1993 年 6 月 目 录第 1 章 有 关 图 象 的 介 绍 11 .1 图 象 文 件 结 构 11 .2 更 可 行 的 方 案 31 .3 有 关 C 语 言 编 程 41 .4 内 存 模 式 及 其 它 注 意 事 项 41 .5 包 含 文 件 5第 2 章 MacPaint 图 象 文 件 92 .1 文 件 头 92 .2 解 压 缩 图 象

9、数 据 122 .3 解 压 缩 整 个 图 象 142 .4 充 分 利 用 VGA 显 示 卡 182 .5 创 建 MacPaint 图 象 文 件 212 .6 文 件 头 的 秘 密 25第 3 章 IMG 图 象 文 件 283 .1 解 压 缩 IMG 文 件 283 .2 解 压 缩 整 幅 图 象 313 .3 浏 览 大 幅 图 象 413 .4 创 建 IMG 图 象 文 件 45第 4 章 PCX 图 象 文 件 484 .1 PCX 图 象 文 件 格 式 484 .2 解 压 缩 P CX 图 象 数 据 504 .3 16 色 PCX 图 象 544 .4 256

10、 色 PCX 图 象 格 式 584 .5 256 色 调 色 板 58第 5 章 BMP 图 象 文 件 625 .1 BMP 图 象 文 件 格 式 625 .2 单 色 BMP 显 示 675 .3 16 色 及 256 色 BM P 显 示 70第 6 章 GIF 图 象 文 件 77 6 .1 G IF 概 述 776 .2 G IF 文 件 结 构 786 .3 LZW 压 缩 算 法 剖 析 826 .4 解 开 和 生 成 GI F 文 件 编 程 实 例 86第 7 章 TIFF 图 象 文 件 1017 .1 T I FF 概 述 1017 .2 T I FF 文 件 结

11、构 1027 .3 域 和 标 志 1057 .4 T I FF 显 示 1127 .5 生 成 T IFF 文 件 126第 8 章 高 速 单 色 显 示 驱 动 程 序 1278 .1 单 色 显 示 卡 1278 .2 显 示 行 的 内 存 映 射 1288 .3 查 找 表 1298 .4 线 性 显 示 内 存 1298 .5 单 色 超 级 VGA 驱 动 程 序 1308 .6 驱 动 程 序 1308 .7 C 语 言 调 用 程 序 1378 .8 Hercules 显 示 卡 特 性 1438 .9 模 式 切 换 1488 .10 用 汇 编 语 言 改 变 模 式

12、1528 .11 检 测 显 示 卡 1558 .12 自 动 模 式 选 择 159第 9 章 高 速 彩 色 显 示 驱 动 程 序 1619 .1 EGA 显 示 1619 .2 EGA 驱 动 程 序 1629 .3 扫 描 行 数 据 的 位 操 作 1719 .4 256 色 VGA 显 示 1729 .5 16 色 VGA 显 示 1779 .6 超 级 VGA 驱 动 程 序 1989 .7 Paradise 超 级 VGA 驱 动 程 序 198第 10 章 PostScript 文 件 20710 .1 三 种 基 本 的 打 印 机 类 型 20710 .2 点 阵 打

13、印 机 20810 .3 LaserJet 21210 .4 PostScript 21410 .5 用 黑 白 表 示 彩 色 21510 .6 EPS 预 显 示 21710 .7 Laser Jet 的 中 间 色 调 21810 .8 网 屏 和 中 间 色 调 21810 .9 图 形 目 录 21910 .10 结 束 语 237 第 11 章 抖 动 处 理 23811 .1 抖 动 处 理 的 基 本 概 念 23911 .2 抖 动 处 理 的 方 法 23911 .3 抖 动 处 理 的 算 法 24111 .4 放 大 过 的 图 象 抖 动 处 理 24311 .5 扩

14、 展 存 储 器 的 接 口 24511 .6 扩 充 存 储 器 的 接 口 25011 .7 虚 拟 存 储 器 的 使 用 25511 .8 进 一 步 学 习 建 议 255第 12 章 图 象 文 件 格 式 转 换 25612 .1 单 色 文 件 格 式 转 换 25612 .2 彩 色 文 件 格 式 转 换 26712 .3 其 它 转 换 286附 录 Microsoft C 与 Turbo C 比 较 287参 考 文 献 289 第 1 章 有 关 图 象 的 介 绍图 象 是 一 个 古 老 的 话 题 。 在 原 始 社 会 , 我 们 的 祖 先 就 想 到 了

15、应 该 为 后 代 留 下 点 什 么 , 亦 或 是 为 了 “流 芳 后 世 ”, 他 们 开 始 用 “象 形 文 字 ”记 事 , 用 一 些 能 够 描 绘 具 体 事 物 的 符 号 来 记 录 事 情 。 随 着 人 类 社 会 的 发 展 , 信 息 量 越 来 越 大 , 人 们 再 也 无 法 用 繁 杂 的 “象 形 文 字 ”来 记 录 事 情 了 , 于 是 出 现 了 现 代 文 字 。 现 代 文 字 简 则 简 矣 , 却 失 去 了 一 目 了 然 的 优 点 。 计 算 机 的 发 展 , 使 人 类 “ 返 朴 归 真 ”的 愿 望 成 为 现 实 。 超

16、 文 本 ( H yper text ) 系 统 、 多 媒 体 ( M ult imedia) 系 统 , 图 、 文 、 声 并 茂 , 使 人 如 临 其 境 。 图 象 在 其 中 扮 演 着 重 要 的 角 色 。“一 幅 图 胜 似 千 言 万 语 ”。 当 我 们 说 祖 国 山 河 如 何 美 丽 的 时 候 , 我 们 并 没 有 确 切 的 感 受 , 而 当 我 们 看 了 一 些 照 片 , 或 者 一 组 风 景 画 的 时 候 , 我 们 才 会 真 正 领 略 到 它 们 的 无 限 风光 。有 必 要 提 一 下 , 图 象 并 不 是 图 形 。 计 算 机

17、图 形 通 常 指 计 算 机 所 绘 制 ( dr aw ) 的 东 西 , 像圆 、 矩 形 、 图 表 等 。 本 书 所 要 论 述 的 图 象 则 是 指 由 扫 描 仪 、 摄 像 机 等 输 入 设 备 输 入 并 存 储 到 计 算 机 中 的 数 字 信 息 , 它 能 够 在 计 算 机 屏 幕 上 再 次 显 现 出 来 。 本 书 主 要 讲 述 的 位 图 ( bitmap ) , 是 由 数 字 阵 列 信 息 组 成 的 。每 一 种 图 象 软 件 几 乎 都 用 各 自 的 方 法 处 理 图 象 , 这 也 是 图 象 处 理 中 的 最 大 问 题 , 像

18、 M acPaint 、 PC Paint br ush , 就 用 不 同 的 格 式 存 储 图 象 。 如 果 你 想 利 用 现 有 的 图 象 文 件 , 或 者 在 不 同 的 软 件 中 使 用 图 象 , 就 要 注 意 图 象 格 式 的 不 同 。 可 能 需 要 进 行 必 要 的 格 式 转 换 。如 果 你 想 欣 赏 一 幅 图 象 文 件 , 你 还 需 要 有 关 显 示 卡 的 性 能 指 标 , 如 模 式 、 分 辨 率 等 。 如 果 想 把 图 象 打 印 出 来 , 同 样 也 需 要 知 道 打 印 机 的 各 种 参 数 。现 在 已 有 许 多

19、 不 同 的 图 象 格 式 , 并 且 继 续 有 新 的 格 式 出 现 。 但 是 , 有 几 种 图 象 格 式 是 众 所 周 知 的 , 像 T IF F、 PCX、 BMP 等 , 新 出 现 的 图 象 软 件 都 会 支 持 它 们 , 否 则 这 样 的 软 件 也 不 会 具 有 强 大 的 生 命 力 。 本 书 着 重 介 绍 以 下 几 种 比 较 流 行 的 图 象 格 式 : M acPaint 、 PC P aintbur s h、 PCX、 M icr osoft Bitmap( BM P) 、 CompuSer ve GIF 以 及 T IF F。本 书

20、还 介 绍 了 一 些 有 关 显 示 卡 和 打 印 机 进 行 图 象 处 理 的 内 容 , 并 介 绍 了 一 种 图 象 处 理 技 术 抖 动 ( dither ing) , 最 后 介 绍 图 象 格 式 间 的 相 互 转 换 。1. 1 图 象 文 件 结 构图 象 在 计 算 机 屏 幕 上 显 示 时 , 我 们 才 能 知 道 它 的 内 容 。 为 了 简 单 起 见 , 我 们 先 讨 论 一 幅 单 色 ( 黑 白 ) 图 象 , 假 设 它 的 长 宽 为 64 480, 恰 好 为 VGA 显 示 卡 的 分 辨 率 。 这 时 如 果 用 E GA 、 CG

21、A 显 示 卡 显 示 , 则 只 能 显 示 它 的 一 部 分 。V GA 显 示 卡 的 分 辨 率 水 平 方 向 为 640 个 象 素 , 垂 直 方 向 为 480 个 象 素 , 整 屏 共 有 307200 个 象 素 。 显 示 在 屏 幕 上 的 数 据 就 存 储 在 内 存 中 , 与 存 储 其 它 程 序 代 码 和 数 据 一 样 。 位 图 ( 黑 白 图 象 ) 中 的 每 一 个 象 素 只 占 一 位 , 而 一 个 字 节 包 含 八 个 象 素 , 这 样 , 上 面 的 位 图1存 储 在 文 件 中 只 需 要 38400 个 字 节 。如 果

22、知 道 V GA 显 示 卡 将 位 图 存 储 在 段 值 A 000H 处 , 我 们 就 可 以 很 容 易 地 将 位 图 的38400 个 字 节 保 存 到 一 个 文 件 中 。 C 语 言 代 码 如 下 :F ILE * fp;if( fp = fopen( SCRVG A . BIN , wb ) ) ! = N U L L) fwrite( M K - F P ( 0xa000, 0) , 1, 38400, fp) ;fclos e( fp) ; elsepr intf( Cr eat ing file error ! ) ;在 T u rb o C 系 列 中 , 有

23、 MK - FP 宏 , 而 在 M icrosoft C 语 言 中 则 没 有 , 我 们 可 如 下 定义 :# ifndef M K- F P# define M K - F P ( seg, ofs) ( ( void far * ) ( ( ( uns igned long) ( seg 64K; * LoadP tr - M acro t o load far addr es s into segment : regist er pair, or; * near addres s into regist er .; *; * P arams: s gm nt - Segment

24、t o be loaded w it h segment address; * r eg - Regist er t o be loaded w it h offset address; * pointer - Pointer to address5; *; * Show s : Ins tr uctions - lds les ; * Direct ives - M A CRO IF IF IDN I E LSE; *ELSE IF EN DIF . E RR E N DM; * Operators - ; ;L oadP t r M A CRO sgmnt , reg, point er

25、; ; M acro definit ionIF DataSize ; ; If far point er, andIF IDNI , ; ; if 1s t argument is DS,lds reg, point er ; ; load DS: reg w ith far addressEL SEIF IDN I , ; ; or if 1s t ar gument is E S,les r eg, pointer ; ; load ES : reg wit h far addressEL SE ; ; G enerat e err or if not DS or E S. ERR EN

26、 DIFE LSE ; ; If near pointer,IF IDN I , ; ; and if segment is ES ,push ds ; ; ensure ES point s t opop es ; ; s ame s egment as DSE NDIFmov reg, pointer ; ; T hen load reg with near addres s E N DIFE N DMP BY T E T Y P EDEF P T R BYT E ; T ype for pointer to byt es P WO RD T Y P EDEF P T R WORD ; T

27、 ype for pointer to wordsP SWO RD T Y P EDEF P T R SWORD ; T ype for pointer to int egersP DWO RD T Y P EDEF P T R DWORD ; T ype for pointer to int egersN P BYT E T Y P EDEF NE A R P T R BYT E ; T ype for near pointer t o bytesF P BY T E T Y P EDEF F AR P T R BYT E ; T ype for far point er t o bytes

28、F P V OID T Y P EDEF F AR P T R ; T ype for far point er t o voidP SE G T Y P EDEF WORD ; T ype for segment value; -; PRO T OT YP ES F OR CH AP T E R 8 -; in M ON O SCR. A SM ( f8-1. asm )U pdate P ROT O P A SCA L line: F P BY T E , linelengt h: SWO RD, linenumber: SW ORD DoT able P ROT O P A SCA L

29、cardno: SWO RD; in H ERCP AG E. A SM ( f8-6. asm )H ercP age PRO T O P ASCAL pageno: S WORD; in H ERCGRA F . A SM ( f8-8. asm)IsH ercG raf P ROT O P A SCA L; in CHN GM O DE . A SM ( f8-9. asm )G raphicsM ode P ROT O P A SCA L graphmode: SWORD T ext Mode PRO T O P ASCAL; common funct ions ( f9-1. as

30、m and f9-5. asm )G if2Ega P ROT O P A SCA L egaline: F P BY T E , gifline: F P BY T E , linelengt h: SW ORD T ext PRO T O P ASCAL; in EGA SCR . A SM ( f9-1. as m)6ChangeT oE gaP alet t e P ROT O P A SCA L egapalet te: F PBY T E , gifpalet te: F P BYT E, num ber: SWORDP alet t eE GA P ROT O P A SCA L

31、 palet t e: PBY T E , number : SWOR D E GA gr aphics P ROT O P A SCA LShowE GA P ROT O P A SCA L line: F P BY T E , linelengt h: SWO RD, linenumber: SW ORD; in VG A 16SCR . A SM ( f9-5. as m)ChangeT oV gaP alet te P ROT O P A SCA L egapalett e: F P BYT E, gifpalett e: F P BYT E, number: SWO RDP alet

32、 t eV GA 16 P ROT O P A SCA L palet t e: PBY T E , number : SWOR DV GA 16gr aphics P ROT O P A SCA LShowV GA 16 PRO T O PA SCAL line: F PBY T E , linelengt h: SWO RD, linenumber: SWORD; in VG ASCR. A SM ( f9-3. asm)Set VgaP alett e P ROT O P A SCA L palet t e: PBY T E , number : SWOR D V GA 256graph

33、ics P ROT O P A SCA LV GA T ext P RO T O PA SCA LShowV GA 256 P RO T O PA SCA L line: F P BY T E , linelengt h: SW ORD, linenumber : SWOR D F arM ove P RO T O PA SCA L dest : F P BY T E , src: F P BYT E , l: W ORD; in P A RSCR. ASM ( f9-7. asm )Set P arP alett e P ROT O P A SCA L palet t e: PBY T E

34、, number : SWOR D P A Rgr aphics P ROT O P A SCA LP A Rtext P ROT O P A SCA LShowP A R P ROT O P ASCA L line: F P BYT E, linelength : SWORD , linenumber: SWO RD图 1-2 A SM . INC 文 件/ * -* G raphics mode for video cards* -* /# define CG A 1# define M CGA 2# define EG A 3# define H ERCMO NO 7# define P

35、 ARA DISE 0x59# define V GA M CGA/ * in M O NO SCR . ASM * /void - pascal U pdate( char far * line, int linelengt h, int linenumber) ; void - pascal DoT able( int cardno) ;/ * in H E RCP AG E . ASM * /void - pascal HercPage( int pageno) ;/ * in H E RCGRA F . A SM * /int - pascal Is HercGraf( ) ; / *

36、 if gr aphics m ode then return non- zero else return zer o * / * in CHN G MO DE. ASM * /void - pascal Graphics Mode( int graphmode) ; void - pascal T ext M ode( ) ;/ * in E GA SCR . AS M void - pascal T ext ( void) ;7/ * in E GA SCR . AS M * /void - pascal ChangeT oE gaP alet te( char far * egapale

37、tt e, char far * gifpalet te, int number) ; void - pascal Palett eEGA ( char * palett e, int number ) ;void - pascal EGA graphics ( void) ;void - pascal Show EGA ( char far * line, int linelengt h, int linenumber) ;/ * in V GA 16SCR . A SM * /void - pascal ChangeT oV gaP alet t e( char far * egapale

38、tt e, char far * gifpalet te, int number) ; void - pascal Palett eVG A 16( char * palet te, int number ) ;void - pascal VG A 16graphics ( void) ;void - pascal Show VG A 16( char far * line, int linelengt h, int linenumber) ;/ * in V GA SCR. A SM * /void - pascal Set V gaP alet te( char * palett e, i

39、nt number ) ; void - pascal VG A 256graphics ( void) ;void - pascal VG AT ext ( void) ;void - pascal Show VG A 256( char far * line, int linelengt h, int linenumber ) ; void - pascal F arM ove( char far * dest , char far * sr c, unsigned int l) ;/ * in P A RSCR . A SM * /void - pascal Set P arPalett

40、 e( char * palett e, int num ber) ; void - pascal PA Rgraphics ( void) ;void - pascal PA Rt ext ( void) ;void - pascal Show PA R( char far * line, int linelengt h, int linenumber) ;图 1-3 A SM . H 文 件许 多 程 序 , 像 FA ST PCX. C、 SH OWBM P. C 等 程 序 , 都 要 使 用 A SM . H 文 件 。8第 2 章 M acP ain t 图 象 文 件M acPa

41、int 图 象 文 件 不 是 PC 机 的 产 物 , 它 来 源 于 Apple M acint os h。 在 M acint os h 环 境 中 , 几 乎 所 有 的 应 用 程 序 都 采 用 这 种 图 象 格 式 ; 而 在 PC 环 境 中 存 在 着 种 类 繁 多 的 图 象 格 式 。我 国 由 于 M acint os h 机 比 较 少 , M acPaint 格 式 的 图 象 也 见 得 比 较 少 。 而 在 美 国 , 使 用 M acintosh 机 比 使 用 PC 机 更 普 遍 , 因 此 M acPaint 格 式 图 象 也 非 常 多 , 从

42、 电 子 布 告 板 ( bulletin- boar d) 上 能 够 获 取 许 多 有 趣 的 图 象 。与 本 书 的 其 它 图 象 格 式 相 比 , M acPaint 图 象 格 式 比 较 简 单 。 它 多 数 是 黑 白 的 , 并 且 具 有 固 定 的 大 小 。 无 论 一 幅 什 么 样 的 M acPaint 图 象 , 它 的 水 平 方 向 总 是 576 个 象 素 , 垂 直 方 向 总 是 720 个 象 素 。在 M acP aint 图 象 中 , 带 有 38 个 图 案 ( pat ter n) , 这 与 P C 环 境 下 的 其 它 格

43、式 的 图 象 也 不 相 同 。 这 些 图 案 类 似 于 PCX, BM P 等 格 式 图 象 中 的 调 色 板 。 在 PC 环 境 下 的 M acPaint 图 象 , 其 中 的 图 案 并 无 多 大 用 处 。在 M acin tos h 中 , 所 有 的 文 件 都 存 储 为 两 部 分 。 一 部 分 是 数 据 , 另 一 部 分 是 资 源 , 资 源 部 分 包 含 代 码 。 M acPaint 文 件 只 包 含 数 据 部 分 , 资 源 部 分 是 空 的 。当 M acP aint 文 件 被 应 用 到 其 它 系 统 时 , 如 PC 系 统

44、, 它 形 成 一 个 单 一 的 文 件 , 这 个 文 件 包 含 数 据 和 资 源 两 部 分 , 另 外 还 要 加 上 一 个 M acBinar y 文 件 头 。 文 件 头 的 作 用 在 于 当M acPaint 文 件 又 回 到 M acint osh 系 统 时 , 解 释 如 何 将 文 件 分 割 为 数 据 和 资 源 两 部 分 。 另 外 , 文 件 头 还 记 录 文 件 的 类 型 及 原 文 件 名 。 M acint os h 文 件 名 可 长 达 31 个 字 符 。M acBinar y 文 件 头 严 格 说 来 不 是 文 件 格 式 的

45、一 部 分 。 在 M acintosh 文 档 资 料 中 根 本 不存 在 这 一 数 据 结 构 。 不 过 在 PC 环 境 下 , 我 们 还 是 把 它 作 为 M acPaint 文 件 的 一 部 分 。 本 章 在 最 后 一 部 分 对 这 一 结 构 有 详 细 描 述 。M acPaint 文 件 中 的 图 象 数 据 位 于 M acBinar y 文 件 头 和 图 案 数 据 之 后 , 并 且 是 经 压缩 存 储 的 。2. 1 文 件 头在 显 示 一 幅 图 象 之 前 , 首 先 要 确 认 一 个 文 件 是 否 是 所 需 要 的 文 件 格 式

46、; 另 外 还 要 知 道 图 象 的 大 小 是 否 合 乎 要 求 。 由 于 M acPaint 图 象 都 具 有 统 一 的 大 小 , 因 此 处 理 起 来 就 比 较 方 便 。M acBinar y 文 件 头 两 个 长 整 数 , 分 别 定 义 了 M acint os h 文 件 类 型 和 文 件 创 建 者 。 每 个 文 件 中 唯 一 的 文 件 类 型 都 是 一 个 4 字 节 代 码 。 这 个 4 字 节 代 码 既 可 看 作 4 个 字 节 , 也 可 以 看 作 一 个 长 整 数 。 M acPaint 文 件 类 型 是 PNT G , 每 个 能 产 生 文 件 的 程 序 还 有 一 个 4 字 节 标 识 , 或 称 为 创 建 者 标 志 。 如 果 文 件 来 源 于 M acPaint , 则 创 建 者 标 识 为 M PN T 。 因 为 还9有 许 多 M acint os h 应 用 程 序 也 能 产 生 M acPaint 文 件 , 所 以 不 能 认 为 创 建 者 标 识 一

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 大学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报