• <label id="pxtpz"><meter id="pxtpz"></meter></label>
      1. <span id="pxtpz"><optgroup id="pxtpz"></optgroup></span>

        當(dāng)前位置:雨林木風(fēng)下載站 > 技術(shù)開(kāi)發(fā)教程 > 詳細(xì)頁(yè)面

        通過(guò)Delphi完成圖象的縮放

        通過(guò)Delphi完成圖象的縮放

        更新時(shí)間:2022-04-28 文章作者:未知 信息來(lái)源:網(wǎng)絡(luò) 閱讀次數(shù):

        給你一個(gè)圖像放大的文章:
        本文介紹實(shí)現(xiàn)圖象局部、平滑和無(wú)閃爍放大的算法原理,以及在Delphi中實(shí)現(xiàn)的技術(shù)。讀完本文,您一定會(huì)為Delphi能用如此少的代碼實(shí)現(xiàn)如此強(qiáng)大的功能驚嘆不已,這是許多其它開(kāi)發(fā)工具所無(wú)法比擬的。

        算法原理

        在Delphi中,可利用類(lèi)Tcanvas的CopyRect方法實(shí)現(xiàn)圖象的放大和縮小。其功能是將源畫(huà)布上的一個(gè)指定矩形區(qū)域(簡(jiǎn)稱(chēng)源矩形)內(nèi)的象素,拷貝到目的畫(huà)布上的一個(gè)指定矩形區(qū)域(簡(jiǎn)稱(chēng)目的矩形)中。亦可稱(chēng)之為象素塊復(fù)制,如圖1所示。

        由CopyMode屬性確定拷貝的模式。在直接拷貝模式(cmSrcCopy)下,當(dāng)源矩形與目的矩形相等時(shí),圖象不變;若源矩形大于目的矩形,圖象則縮小;而當(dāng)源矩形小于目的矩形時(shí),圖象便被放大(在目的矩形中擴(kuò)展)。源矩形與目的矩形大小之比,決定圖象的縮放倍數(shù)。CopyRect方法聲明如下:

        Procedure CopyRect(const Dest: TRect; Canvas: TCanvas; const Source: Trect);

        其中參數(shù),Dest為目的矩形,Canvas是源畫(huà)布,Source為源矩形。

        實(shí)現(xiàn)步驟

        新建應(yīng)用程序主目錄C:\Magnifier及其子目錄Images,將事先制作好的位圖圖象Picture.bmp存入Images目錄。本例中,Picture.bmp的大小為260*310象素。

        啟動(dòng)Delphi IDE,新建項(xiàng)目Magnifier.dpr,主窗體單元命名為Main.pas,存入C:\Magnifier目錄。在主窗體上放置一個(gè)TPanel組件,并在其中加入兩個(gè)TImage組件。兩個(gè)TImage組件分別命名為ForeImage和BackImage,前者重疊于后者之上,并且都裝入Picture.bmp位圖。

        主窗體和各組件的主要屬性按表1設(shè)置:

        表1 主窗體和各組件屬性設(shè)置

        組 件        屬 性                      設(shè) 置
        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

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

        const

        sSide=30;
        dSide=45;

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

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

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

        溫馨提示:喜歡本站的話(huà),請(qǐng)收藏一下本站!

        本類(lèi)教程下載

        系統(tǒng)下載排行

        主站蜘蛛池模板: 亚洲成?v人片天堂网无码| 99久久国产免费-99久久国产免费 99久久国产免费中文无字幕 | 国产在线jyzzjyzz免费麻豆| 久久91亚洲人成电影网站| 99久久免费国产精精品| 亚洲国产精品无码久久久秋霞2| 国产成人无码免费网站| 在线精品亚洲一区二区小说| 一区二区三区免费在线观看| 亚洲男人天堂2020| 国产精品内射视频免费| 亚洲国产精品无码成人片久久| 99在线热播精品免费99热| 婷婷久久久亚洲欧洲日产国码AV| 暖暖免费日本在线中文| 久久亚洲国产精品成人AV秋霞| 99久在线国内在线播放免费观看| 亚洲国产日韩在线| 日本免费人成黄页网观看视频| 牛牛在线精品免费视频观看| 国产亚洲欧洲Aⅴ综合一区| 免费91麻豆精品国产自产在线观看 | 亚洲va久久久噜噜噜久久狠狠| 免费无码又爽又刺激高潮视频| 亚洲白色白色在线播放| 成人激情免费视频| 亚洲日韩在线观看免费视频| 亚洲人成网www| 免费无码又爽又刺激毛片| 精品免费久久久久国产一区 | 日本一道高清不卡免费| 久久久精品视频免费观看| 亚洲国产美国国产综合一区二区 | 国产在线观看麻豆91精品免费| 18禁亚洲深夜福利人口| 国产亚洲3p无码一区二区| 亚洲网站在线免费观看| 野花视频在线官网免费1| 亚洲国产一二三精品无码| 亚洲免费综合色在线视频| 日产久久强奸免费的看|