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

        當前位置:雨林木風下載站 > 技術開發教程 > 詳細頁面

        通過Delphi完成圖象的縮放

        通過Delphi完成圖象的縮放

        更新時間:2022-04-28 文章作者:未知 信息來源:網絡 閱讀次數:

        給你一個圖像放大的文章:
        本文介紹實現圖象局部、平滑和無閃爍放大的算法原理,以及在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ⅴ亚洲情无码AV蜜桃| 亚洲av丰满熟妇在线播放| 精品国产成人亚洲午夜福利| 亚洲人成免费电影| 久久精品国产亚洲AV嫖农村妇女 | 亚洲精品第一综合99久久| 95老司机免费福利| 亚洲国语在线视频手机在线| 国产精品色拉拉免费看| 亚洲熟女综合一区二区三区| 永久中文字幕免费视频网站| 成a人片亚洲日本久久| 又粗又硬又大又爽免费视频播放| 成年大片免费高清在线看黄| 国产亚洲色视频在线| 免费在线观影网站| 91亚洲精品视频| 成人免费无码大片a毛片软件 | 午夜精品免费在线观看 | 久久久久国产成人精品亚洲午夜 | 一个人看的www视频免费在线观看 一个人看的免费观看日本视频www | 西西人体大胆免费视频| 久久久久亚洲AV成人网人人网站| 国产在线一区二区综合免费视频| 亚洲精品国产福利在线观看| A级毛片内射免费视频| 美女的胸又黄又www网站免费| 中文字幕不卡亚洲 | 在线观看免费人成视频色9| 亚洲精品天堂无码中文字幕| 久久青青草原亚洲av无码| 亚洲免费在线播放| 亚洲乱妇老熟女爽到高潮的片| 亚洲男人在线无码视频| 久久精品国产这里是免费| 亚洲欧洲国产综合AV无码久久| 综合亚洲伊人午夜网| av无码免费一区二区三区| 免费视频精品一区二区| 亚洲第一页在线视频| 破了亲妺妺的处免费视频国产 |