⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 h20000324-19.htm

📁 对于学习很有帮助
💻 HTM
字号:
<html><head><script language="JavaScript">	function reset(){   for ( var i=0; i < document.Form1.elements.length; i++ )     { document.Form1.elements[i].options[0].selected=true }}function going(url){        parent.location=url;        reset();}</script><style><!--A:link {text-decoration: none; color: #000000; font-family: 宋体}A:visited {text-decoration: none; color: #000000; font-family: 宋体}A:active {text-decoration: none; font-family: 宋体}A:hover {text-decoration: underline:#ffffff; color: #ff0000}body,table {font-size: 9pt; font-family: 宋体}.H1 {font-size: 9pt ; line-height:9pt; align=center}.ourfont {font-size: 9pt ; line-height:9pt; }.ourfont1 {font-size: 9pt ; line-height:9pt; }--></style><meta http-equiv="Content-Type" content="text/html; charset=gb2312"><title>基 于Delphi 的 图 像 漫 游</title></head><body topmargin="0" leftmargin="0"><div align="center"><center><table border="0" cellPadding="0" cellSpacing="0" width="700"><tbody>  <tr>    <td><p class="content4"><span class="font"><img border="0" height="3" src="../../soft/pix.gif" width="700"></span></td>  </tr></tbody></table></center></div><div align="center"><center><table border="0" cellPadding="0" cellSpacing="0" width="700"><tbody>  <tr>    <td bgColor="#3399ff" width="658"><p class="ourfont"><span class="font">&nbsp; </span><a style="text-decoration: none; color: rgb(255,255,255)" href="../os/H00705-2.htm">操作系统</a><font color="#FFFFFF"><span class="font"><span> |</span></span></font><a style="color: rgb(255,255,255); text-decoration: none" href="../image/H00705-14.htm">图像处理</a><font color="#FFFFFF"><span>|<span class="font"> </span></span></font><a style="color: rgb(255,255,255); text-decoration: none" href="../autoCAD/H00705-19.htm">辅助设计</a><span class="font"><font color="#FFFFFF"><span> | </span></font></span><a style="color: rgb(255,255,255); text-decoration: none" href="../data/H00705-18.htm">数     据 库</a><span class="font"><font color="#FFFFFF"><span> | </span></font></span><a style="color: rgb(255,255,255); text-decoration: none" href="H00706-1.htm">高级编程</a><span class="font"><font color="#FFFFFF"><span> | </span></font></span><a style="color: rgb(255,255,255); text-decoration: none" href="../netuse/H00705-20.htm">网络应用</a><font color="#FFFFFF"><span><span class="font"> | </span></span></font><a style="color: rgb(255,255,255); text-decoration: none" href="../webpage/H00705-21.htm">网页制作</a><font color="#FFFFFF"><span><span class="font"> |</span></span></font> <a style="color: rgb(255,255,255); text-decoration: none" href="../technic/H00706-3.htm">技术交流     &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </a><a style="color: rgb(255,255,255); text-decoration: none" href="http://202.100.13.77/clslyb/default.asp?clsid=jiaoc"><font color="#FFFFFF"><strong>过客留言</strong></font></a></td>    <td bgColor="#3399ff" width="32"><p align="center" class="ourfont"><a href="mailto:net@163.sn.cn"><img src="../../soft/email.gif" alt="email.gif (493 字节)" border="0" WIDTH="20" HEIGHT="19"></a></td>  </tr></tbody></table></center></div><div align="center"><center><table border="1" cellSpacing="1" width="700" bordercolor="#3399FF"><tbody>  <tr>    <td align="left" bgColor="#FFFFFF" vAlign="top" width="700" bordercolor="#0000FF" bordercolorlight="#0000FF" bordercolordark="#0000FF"><p class="ourfont" align="center"><strong><br>    <br>    <br>    <br>    基 于Delphi 的 图 像 漫 游</strong></p>    <p class="ourfont" align="center">文/向晖 </p>    <p>在 开 发 多 媒 体 应 用 中, 经 常 会 遇 到 需 要 在 有 限 区 域     内 显 示 大 图 像 的 情 况, 有 不 少 文 章 对 此 提 出 过 解 决 方     法, 如 通 过 调 用Windows 的API 函 数, 直 接 读 写 内 存 等。 这 些     方 法 有 一 定 优 点, 但 实 现 起 来 较 为 复 杂, 且 易 出 错。     笔 者 在 实 践 中 通 过 仔 细 摸 索, 利 用Delphi 的 强 大 的 面 向     对 象 可 视 化 开 发 环 境 开 发 了 一 种 交 互 式 图 像 漫 游 方     法。 <br>    <br>    Delphi 中, 鼠 标 的 消 息 响 应 是 通 过 元 件 的OnMouseDown,OnMouseUp 和OnMouseMove     事 件 实 现 的, 通 过 对 此 三 个 事 件 编 程, 可 控 制 图 像 在     有 限 区 域 内 移 动。 考 虑 到 所 移 动 的 图 像 的 边 界 应 总 在     该 区 域 外, 因 此 图 像 的 左 上 角 坐 标 应 小 于 该 区 域 对 应     坐 标, 图 像 右 下 角 坐 标 应 大 于 该 区 域 对 应 坐 标( 除 非     图 像 大 小 比 该 区 域 小)。 <br>    <br>    具 体 方 法 为: <br>    <br>    1、 新 建 一 工 程Project1, 在Form1 中 依 次 放 入Panel1,Panel2 和Image1     元 件, 注 意Panel2 和Image1 分 别 在Panel1 和Panel2 上, 再 将 一Label1     元 件 加 入Panel2 中, 调 整Panel1 尺 寸 为 适 当 大 小, 并 修 改 各     元 件 属 性 为: <br>    <br>    元 件 属 性 名 属 性 值<br>    Panel1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; BevelInner:&nbsp;&nbsp;&nbsp; bvRaised<br>    BevelOuter:&nbsp;&nbsp;&nbsp; bvNone<br>    BorderStyle:&nbsp;&nbsp;&nbsp; bsSingle<br>    Panel2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Align:     &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; alClient<br>    Image1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; AutoSize:&nbsp;&nbsp;&nbsp; True<br>    Picture:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &quot;Apple.bmp&quot;<br>    Label1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Align:     &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; alClient<br>    Transparent:&nbsp;&nbsp;&nbsp; True<br>    注 意: 此 处Label1 的 作 用 不 是 显 示 字 符, 而 是 利 用 它 响     应 鼠 标 消 息, 如 果 不 用Label1 而 直 接 利 用Image1 的 鼠 标 事 件     响 应, 则 会 由 于 其OnMouseDown 事 件 的 激 活 与Image1 的 自 身 坐     标 移 动 事 件 相 冲 突 而 使 图 象 发 生 闪 烁 甚 至 不 能 移 动。     <br>    2、 在implementation 后 加 入 变 量 声 明: <br>    <br>    origin:Tpoint;<br>    image_left:integer;<br>    image_top:integer;<br>    visa1:Tpoint; ( 鼠 标 当 前 位 置 相 对 图 象 右 下 角 的 坐 标)<br>    visa2:Tpoint; ( 鼠 标 当 前 位 置 相 对 图 象 左 上 角 的 坐 标)<br>    canmove:boolean;<br>    <br>    编 写Label1 鼠 标 响 应 事 件:<br>    procedure TForm1.Label1MouseDown(Sender: TObject; Button: TMouseButton;<br>    Shift: TShiftState; X, Y: Integer);<br>    begin<br>    if Button=mbLeft then<br>    begin<br>    origin.x:=X;<br>    origin.y:=Y;<br>    image_left:=image1.left;<br>    image_top:=image1.top;<br>    visa1.x:=X-(image1.width-panel2.width+image1.left);<br>    visa1.y:=Y-(image1.height-panel2.height+image1.top);<br>    visa2.x:=X-image1.left;<br>    visa2.y:=Y-image1.top;<br>    canmove:=true;<br>    end;<br>    end;<br>    <br>    procedure TForm1.Label1MouseMove(Sender: TObject; Shift: TShiftState; X,<br>    Y: Integer);<br>    begin<br>    if canmove then<br>    begin<br>    if Xvisa2.x then X:=visa2.x;<br>    if Yvisa2.y then Y:=visa2.y;<br>    image1.left:=image_left+(X-origin.x);<br>    image1.top:=image_top+(Y-origin.y);<br>    end;<br>    end;<br>    <br>    procedure TForm1.Label1MouseUp(Sender: TObject; Button: TMouseButton;<br>    Shift: TShiftState; X, Y: Integer);<br>    begin<br>    canmove:=false;<br>    end;<br>    上 述 程 序 在Delphi 2.0 中 编 译 通 过, 经 过 扩 充 和 修 改 还 可     应 用 于 多 媒 体 数 据 库 的 图 像 显 示, 对 于 开 发 用 户 友 好     界 面 有 一 定 借 鉴 作 用。 <br>    </td>  </tr></tbody></table></center></div><hr align="center" SIZE="1" width="700"><p align="center" class="ourfont"><span><span><font color="#000000">&nbsp; <a style="color: rgb(0,0,0); text-decoration: none" href="../../soft/network/index.htm">互联网络</font><font color="#FFFFFF"> </font></a><font color="#000000">|</span></span><a href="../../soft/system/index.htm" style="color: rgb(0,0,0); text-decoration: none">系统工具</a><span>|<span> <a href="../../soft/tools/index.htm" style="color: rgb(0,0,0); text-decoration: none">实用工具</a> | <a href="../../soft/multimedia/index.htm" style="color: rgb(0,0,0); text-decoration: none">媒体工具</a> | <a href="../../soft/image/index.htm" style="color: rgb(0,0,0); text-decoration: none">图形图像</a> | <a href="../../soft/game/index.htm" style="color: rgb(0,0,0); text-decoration: none">游戏娱乐</a> | </span><a href="../../soft/usesoft/index.htm" style="color: rgb(0,0,0); text-decoration: none">软件<span>使用</a></font><font color="#FFFFFF"> |</font>&nbsp; </span></span></p><hr align="center" SIZE="1" width="700"><font color="#FFE8BB"><p align="center" class="ourfont"></font><font color="#000000"><span><span>&copy;&nbsp;Copyright 2000 </span></span>陕西公用计算机互联网信息中心<span><span> 版权所有 </font></p></span></span><p align="center" class="ourfont"><font color="#000000"><span><span>本站制作维护by <a style="color: rgb(0,0,0)" href="mailto:haiyuan@163.sn.cn">HAIYUAN</a></span></span></font></p><p align="center" class="ourfont"><font color="#000000"><span><span>电话:(029)8371051 8371055 8371049 联系信箱:<a href="mailto:net@163.sn.cn">net@163.sn.cn</a></span></span></font></p></body></html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -