动画图像分解在VB动画设计中的应用

发表于:2007-07-14来源:作者:点击数: 标签:
---- 笔 者 每 次 浏 览Web 网 页 时, 总 是 被 许 多 生 动 有 趣 的 小 动 画 深 深 吸 引, 十 分 佩 服 作 者 的 想 象 力 和 制 作 技 巧。 在 使 用 VB 进 行 应 用 软 件 开 发 设 计 中, 为 使 软 件 的 人 机 界 面 新 颖 友 好, 总 想 加 点 动
---- 笔 者 每 次 浏 览Web 网 页 时, 总 是 被 许 多 生 动 有 趣 的 小 动
画 深 深 吸 引, 十 分 佩 服 作 者 的 想 象 力 和 制 作 技 巧。 在 使 用
VB 进 行 应 用 软 件 开 发 设 计 中, 为 使 软 件 的 人 机 界 面 新 颖
友 好, 总 想 加 点 动 画 作 点 缀, 但 又 常 常 苦 于 一 幅 幅 动 画 图
片 的 绘 制 或 寻 找! 因 此 萌 发 了 一 种 奇 妙 的 设 想: 能 否 让Web
页 面 上 的 动 画 在VB 应 用 软 件 界 面 上 活 起 来? 幸 运 的 是, 当
前 图 像 处 理 软 件 甚 多, 终 于 将 笔 者 的 这 一 设 想 变 成 了 现
实。
VB 动 画 设 计 ---- 动 画 的 制 作 原 理 很 简 单:
首 先 绘 制 几 幅 相 近 但 又 有 细 微 变 化 的 图 片, 然 后 每 隔 一
段 很 短 的 时 间 就 依 次 显 示 其 中 一 幅, 由 于 人 眼 视 觉 暂 留,
就 能 看 到 连 贯 的 动 画 效 果。 ---- 使 用VB 进 行 动 画 设 计 非 常
方 便, 因 为 其 工 具 箱 中 有 图 像、 图 片、 时 钟 控 件。 只 要 获
得 了 一 幅 幅 动 画 单 幅 图 像 文 件, 把 它 们 放 入 图 像 控 制 数
组 中 去, 便 可 用 时 钟 控 件 的 控 制 属 性Interval 来 控 制 每 幅 图
片 的 显 示 间 隔, 把 最 终 动 画 显 示 的 位 置 确 定 好 后, 按 时 间
间 隔 依 次 从 图 像 控 制 数 组 中 取 出 一 幅 图 显 示。 如 此 交 替
反 复 显 示, 即 可 产 生 动 画 效 果, 编 程 实 现 比 较 简 单。 ----
VB 动 画 设 计 所 能 接 收 的 单 幅 图 片 文 件 的 格 式 有 四 种, 即
*.Bmp、 *.Ico、 *.Wmf 和 *.Dib。 其 中 *.Bmp 文 件 的 来 源 最 广,
不 但 可 以 使 用Windows 环 境 下 的 各 种 绘 图 软 件 来 绘 制( 但 费
时 费 力, 且 不 是 每 个 人 都 有 绘 画 的 天 才), 也 可 以 Web 动 画
图 像 分 解 方 法 ---- 从Web 网 页 上 下 载 静 态 图 像 文 件 比 较 简
单, 下 载 后 需 要 进 行 分 解。 ---- 动 画 图 像 文 件 的 分 解 是 动
画 设 计 的 逆 过 程, 即 把 一 个 动 画 效 果 的 图 像 文 件 分 解 形
成 它 的 多 幅 图 片 文 件。 可 使 用GIF Construction Set 软 件 打 开(
此 软 件 可 在 许 多 服 务 器 上 下 载) 要 分 解 的 图 像 文 件, 该 软
件 即 可 将 动 画 自 动 分 解 为 多 幅 组 成 动 画 的 单 幅 图 画。 ----
使 用 上 述 软 件 分 解 后, 首 先 看 看 是 由 几 幅 图 画 组 成 的 动
画, 如 果 有N 幅 图 画, 就 把 动 画 文 件 拷 贝N 份。 ---- 然 后, 逐
个 打 开 拷 贝 文 件 对 每 个 文 件 进 行 处 理, 处 理 过 程 中 只 需
在 第 一 个 文 件 中 保 留 静 止 的 图 像, 在 其 它 文 件 中 只 保 留
动 画 图 像。 ---- 最 后, 使 用 具 有 图 形 转 换 功 能 的 图 形 处 理
软 件 如Phtoshop, 就 可 把 得 到 的N 个 *.Gif 图 像 文 件 都 转 换 成
*.Bmp 文 件 的 格 式。 ---- Web 动 画 分 解 过 程 概 括 描 述 如 下: -
--- Web 动 画 下 载 →Web 动 画 分 解(GIF Construction Set) →Web 动 画
格 式 转 换(Phtoshop 等)。 一 个 实 例 ---- 这 是 一 个 在 数 据 库 查
询 窗 体 上 设 计 的 眼 睛 转 动 查 看 的 动 画, 此 动 画 的 每 个 单
幅 图 画 就 是 从Web 网 页 上 下 载 分 解 得 到 的。 ---- 动 画 设 计 实
现 步 骤 如 下: ---- 首 先, 用 上 述 方 法 把Web 网 页 上 转 眼 睛 动
画 下 载 保 存、 分 解、 格 式 转 换 成 二 幅 画Eyesl.Bmp 和Eyes2.Bmp(
此 动 画 简 单, 只 由 二 幅 画 组 成)。 ---- 其 次, 将Eyes1.Bmp 和
Eyes2.Bmp 放 入 图 像 控 制 数 组 中。
---- 程 序 代 码 如 下:
在窗体的General中声明:
Dim Rotateflag as Integer '交替显示标志
Dim Currenteyes as Integer '当前显示第几幅画
窗体装载初始化:
Sub Form_Load()
Rotateflag=1 '进入显示(时钟计数开始)
Currenteyes=0 '第一幅画定位
End Sub
交替显示子程序(时钟控制显示间隔,本例为250ms):
Sub Tmrtimer_Timer()
If Rotateflag=1
Then '交替显示开始 SImgeyes.Picture=Imgeyes(Currenteyes).Picture '开始显
示第一幅画
Currenteyes=Currenteyes+1 '250ms后显示下一幅
If Currenteyes=2 Then Currenteyes=0 '如果已显示了两幅,则再从第一幅显示
End If
End If
End Sub
结 束 ---- 利 用Web 网 页 动 画 图 像 分 解 成 的 多 个 单 幅 图 画, 不
但 可 以 为VB 动 画 设 计 提 供 方 便, 也 可 用 于VC 等 动 画 编 程。
目 前,Inte.net 的 范 围 日 益 扩 大, 使Web 与 软 件 编 程 联 系 起 来,
无 疑 提 高 了 应 用 软 件 的 制 作 效 率 和 质 量。

原文转自:http://www.ltesting.net