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

📄 174.htm

📁 水木清华的BBS文章
💻 HTM
字号:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>CTerm非常精华下载</title>
</head>
<body bgcolor="#FFFFFF">
<table border="0" width="100%" cellspacing="0" cellpadding="0" height="577">
<tr><td width="32%" rowspan="3" height="123"><img src="DDl_back.jpg" width="300" height="129" alt="DDl_back.jpg"></td><td width="30%" background="DDl_back2.jpg" height="35"><p align="center"><a href="http://bbs.tsinghua.edu.cn"><font face="黑体"><big><big>水木清华★</big></big></font></a></td></tr>
<tr>
<td width="68%" background="DDl_back2.jpg" height="44"><big><big><font face="黑体"><p align="center">         Delphi编程                            (BM: strayli FlyingBoy)          </font></big></big></td></tr>
<tr>
<td width="68%" height="44" bgcolor="#000000"><font face="黑体"><big><big><p   align="center"></big></big><a href="http://cterm.163.net"><img src="banner.gif" width="400" height="60" alt="banner.gif"border="0"></a></font></td>
</tr>
<tr><td width="100%" colspan="2" height="454"> <p align="center">[<a href="index.htm">回到开始</a>][<a href="7.htm">上一层</a>][<a href="175.htm">下一篇</a>]
<hr><p align="left"><small>发信人: pitts (痛并快乐着), 信区: Delphi <br>

标  题: 用Delphi实现位图显示特技 <br>

发信站: BBS 水木清华站 (Tue Oct 13 11:11:25 1998) WWW-POST <br>

  <br>

用Delphi实现位图显示特技 <br>

  <br>

张晓辉 王孝军 <br>

  在应用程序中引入位图并以多种特技显示,会使程序 <br>

界面生动形象,充满魅力。那么在Delphi环境中如何实现 <br>

这一切呢?笔者在用Delphi开发一个多媒体系统时发现了 <br>

实现位图显示特技的两种方法,下面将对这两种方法予以 <br>

介绍,供Delphi爱好者参考。 <br>

  <br>

   一、画布Tcanvas简介 <br>

  <br>

  Delphi中与绘图和位图操作有关的对象是画布Tcanva <br>

s。Tcanvas对象功能强大,封装了WindowsAPI的GDI,用 <br>

户可以很方便地在画布上绘制直线、矩形、椭圆、多边形 <br>

等基本图形,还可以显示、拷贝位图,却不必关心设备上 <br>

下文等GDI概念,极大地方便了用户。Tcanvas对象本身并 <br>

不是一个构件,不单独使用,它总是作为其它对象的属性 <br>

来使用的。Delphi有四个对象具有画布属性,它们是TForm <br>

、TImage、TPaintbox和Tbitmap,其中前三者是可视化构 <br>



件。至于Tcanvas的详细情况,可以参考Delphi的联机帮 <br>

助。 <br>

  <br>

  实现简单的位图显示特技,实际上就是以不同的方式 <br>

逐渐将源位图拷贝到Tcanvas类型的对象上,如从位图的 <br>

中央开始拷贝一个矩形区域到屏幕中央,矩形区域不断扩 <br>

大直到拷贝整个位图,其视觉效果就是位图从屏幕中央向 <br>

四周扩散。不同的拷贝方式就形成了多种特技形式,如扩 <br>

散、拉动和百叶窗等。对于每种特技形式灵活运用,又可 <br>

演变出多种花样,如扩散可以演变为从上向下、从左向右 <br>

、从中间向四周和相反方向的扩散,以及从一角向对角方 <br>

向扩散的特技花样。 <br>

  <br>

  实现上述位图显示特技的原理很简单,关键是怎样实 <br>

现位图的拷贝。在Delphi中有两种拷贝位图的方法,相应 <br>

地就有两种实现位图显示特技的方法,一种是用Tcanvas <br>

对象的方法CopyRect,另一种是调用WindowsAPI的BitBlt <br>

函数。下面就以两种特技的实现为例分别介绍这两种方法 <br>

。 <br>

  <br>

   二、方法之一:调用CopyRect <br>

  <br>

  <br>

  Tcanvas对象与拷贝位图有关的是CopyMode属性和Cop <br>

yRect方法,其中CopyMode定义拷贝的模式,而Copy

⌨️ 快捷键说明

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