六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

通過Delphi完成圖象的縮放

[摘要]給你一個圖像放大的文章:本文介紹實現圖象局部、平滑和無閃爍放大的算法原理,以及在Delphi中實現的技術。讀完本文,您一定會為Delphi能用如此少的代碼實現如此強大的功能驚嘆不已,這是許多其它開發...
給你一個圖像放大的文章:
本文介紹實現圖象局部、平滑和無閃爍放大的算法原理,以及在Delphi中實現的技術。讀完本文,您一定會為Delphi能用如此少的代碼實現如此強大的功能驚嘆不已,這是許多其它開發工具所無法比擬的。

算法原理

在Delphi中,可利用類Tcanvas的CopyRect方法實現圖象的放大和縮小。其功能是將源畫布上的一個指定矩形區域(簡稱源矩形)內的象素,拷貝到目的畫布上的一個指定矩形區域(簡稱目的矩形)中。亦可稱之為象素塊復制,如圖1所示。

由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

上述各組件的許多屬性,讀者亦可根據個人的愛好設定。在主單元Main.pas的implementation段聲明常量和變量:

const

sSide=30;
dSide=45;

var
msHide: Boolean;
OldX, OldY, NewX, NewY: Integer;
DestRect, SourceRect : TRect;

其中,常量sSide和dSide用以控制“放大鏡”的大小和放大倍數;變量msHide控制光標(鼠標)的隱藏和打開;其它變量用以確定放大部位。

建立主窗體MainForm的OnCreate事件,加入下列語句,以初始化變量及設置復制模式:
msHide:=True;
Canvas.CopyMode:=cmSrcCopy; 


主站蜘蛛池模板: 日本午夜视频在线观看 | 午夜视频网站 | 性欧美性| 特级片在线观看 | 亚洲a人| 午夜a级片 | 日韩第3页 | 天天综合天天综合色在线 | 视频在线日韩 | 小xav导航福利网址 香蕉中文在线 | 伊人影院综合 | 天啪天天久久天天综合啪 | 热热99 | 中文国产成人久久精品小说 | 亚洲成av人片在线观看无码 | 日本欧美一区二区三区 | 新版天堂中文资源8在线 | 日本一区二区三区四区无限 | 亚洲狠狠97婷婷综合久久久久 | 在线免费国产 | 日日夜夜狠狠 | 最近韩国日本免费观看 | 亚洲人成影网站~色 | 青青影院 | 青青青国产免费全部免费观看 | 欧美一区二区三区久久久人妖 | 亚洲第一区精品日韩在线播放 | 天天操夜夜爽 | 天天插天天射天天操 | 特黄特色的大片观看免费视频 | 欧美视频黄色 | 日韩无人区码卡二卡3卡4卡介绍 | 日韩理论片西瓜影音 | 青青爽国产手机在线观看免费 | 欧美一级三级 | 午夜在线精品不卡国产 | 亚洲系列中文字幕一区二区 | 啪啪网视频| 欧美亚洲人成网站在线观看刚交 | 日韩欧美视频在线一区二区 | 亚洲综合色在线观看 |