计算机二级辅导:DELPHI中图象的放大和缩小
来源:优易学  2011-6-7 12:55:23   【优易学:中国教育考试门户网】   资料下载   IT书店

  算法原理
  在Delphi中,可利用类Tcanvas的CopyRect方法实现图象的放大和缩小。其功能是将源画布上的一个指定矩形区域(简称源矩形)内的象素,拷贝到目的画布上的一个指定矩形区域(简称目的矩形)中。亦可称之为象素块复制。
  由CopyMode属性确定拷贝的模式。在直接拷贝模式(cmSrcCopy)下,当源矩形与目的矩形相等时,图象不变;若源矩形大于目的矩形,图象则缩小;而当源矩形小于目的矩形时,图象便被放大(在目的矩形中扩展)。源矩形与目的矩形大小之比,决定图象的缩放倍数。CopyRect方法声明如下:
  Procedure CopyRect(const Dest: TRect; Canvas: TCanvas; const Source: Trect);
  其中参数,Dest为目的矩形,Canvas是源画布,Source为源矩形。
  实现步骤
  新建应用程序主目录C:\\Magnifier及其子目录Images,将事先制作好的位图图象Picture.bmp存入Images目录。本例中,Picture.bmp的大小为260*310象素。
  启动Delphi IDE,新建项目Magnifier.dpr,主窗体单元命名为Main.pas,存入C:\\Magnifier目录。在主窗体上放置一个TPanel组件,并在其中加入两个TImage组件。两个TImage组件分别命名为ForeImage和BackImage,前者重叠于后者之上,并且都装入Picture.bmp位图。
  主窗体和各组件的主要属性按表1设置:
  表1 主窗体和各组件属性设置
  组 件
  属 性
  设 置
  Form1
  BorderIcons.biMaximize
  False
  BorderStyle
  bsNone
  Color
  clRed
  Height
  364
  KeyPreview
  True
  Name
  MainForm
  Position
  poScreenCenter
  Width
  294
  WindowState
  wsNormal
  Panel1
  Align
  alNone
  BevelInner
  bvLowered
  BevelOuter
  bvRaised
  BevelWidth
  2
  BorderStyle
  bsNone
  BorderWidth
  2
  Height
  322
  Name
  FramePanel
  Visible
  Ture
  Width
  272
  Image1
  Align
  alNone
  AutoSize
  True
  Center
  True
  Height
  310
  Name
  BackImage
  Picture
  Picture.bmp
  Stretch
  False
  Visible
  False
  Width
  260
  Image2
  Align
  alNone
  AutoSize
  True
  Center
  True
  Height
  310
  Name
  ForeImage
  Picture
  Picture.bmp
  Stretch
  False
  Visible
  True
  Width
  260
  上述各组件的许多属性,读者亦可根据个人的爱好设定。

[1] [2] [3] 下一页

责任编辑:小草

文章搜索:
 相关文章
热点资讯
资讯快报
热门课程培训