麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > Delphi > 正文

用Delphi實現圖像放大鏡

2019-11-17 05:09:48
字體:
來源:轉載
供稿:網友

  在一些常用的看圖軟件中都帶有一個可以放大局部圖像的功能,本實例就是為模擬這一功能開發的。

  向窗體上添加兩個TImage組件,其中一個TImage組件的Name屬性設置為Image1,它充當原圖片顯示的載體。另一個TImage組件的Name屬性設置為Image2,它可以顯示放大后的圖像。添加組件后的窗體如圖1所示。

用Delphi實現圖像放大鏡(圖一)
圖1 添加組件后的窗體

  本例的核心是StretchBlt函數,利用StretchBlt函數實現局部圖像放大,響應代碼如下:

PRocedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
begin
 StretchBlt(Image2.Canvas.Handle,0,0,Image2.Width,Image2.Height,
 Image1.Canvas.Handle, X-20,Y-20,40,40,SRCCOPY);
 Image2.Refresh;
 Screen.Cursors[1]:=LoadCursorFromFile(’MAGNIFY.CUR’);
 Self.Cursor:=1;
end;
  程序首先會調用StretchBlt函數,以鼠標當前位置作為中心點,以邊長為40選中Image1組件上的局部圖像,并放大此局部圖像到Image2組件上。然后通過調用Image2組件的Refresh方法以刷新Image2組件的顯示。最后設置鼠標指針為新的外形。

  程序代碼如下:

unit Unit1;
interface
uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls;

type
 TForm1 = class(TForm)
 Image1: TImage;
 Image2: TImage;
 procedure Image1MouseMove(Sender: TObject; Shift: TShiftState; X,Y: Integer);
 procedure FormMouseMove(Sender: TObject; Shift: TShiftState; X,Y: Integer);
private
 { Private declarations }
public
 { Public declarations }
end;

var
 Form1: TForm1;
 implementation
 {$R *.dfm}
 procedure TForm1.Image1MouseMove(Sender:TObject;Shift:TShiftState;X,Y: Integer);
 begin
  StretchBlt(Image2.Canvas.Handle,0,0,Image2.Width,Image2.Height,Image1.Canvas.Handle, X-20,Y-20,40,40,SRCCOPY);
  Image2.Refresh;
  Screen.Cursors[1]:=LoadCursorFromFile(’MAGNIFY.CUR’);
  Self.Cursor:=1;
end;

procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,Y: Integer);
begin
 Screen.Cursors[1]:=crDefault;
 Self.Cursor:=1;
end;
end.
  保存文件,然后按F9鍵運行程序,程序運行結果如圖2所示。

用Delphi實現圖像放大鏡(圖二)
圖2 程序運行結果

  放大圖像是一個優秀的看圖軟件必備的功能,本實例提供了一種非常簡便易行的方法,不但代碼數量少,而且執行效率高。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 日本在线一区二区 | 国产精品99一区二区 | 国产精品视频免费在线观看 | 天天草天天爱 | 精品在线观看一区二区三区 | 天天鲁在线视频免费观看 | 国产欧美日韩在线不卡第一页 | 91成人精品| 日日草夜夜 | 国产精品久久久久影院老司 | 日韩av在线播放一区 | 热99热| 羞羞电影在线观看www | 成人羞羞国产免费游戏 | v11av在线视频成人 | 欧美一级做一级爱a做片性 91在线视频观看 | 欧美性生交xxxxx免费观看 | 成人毛片网站 | 久久亚洲精品国产 | 黄色毛片免费看 | 99精品视频在线免费观看 | 久久久久久久一区二区 | 黄色毛片免费看 | 亚洲白嫩在线观看 | 一级电影在线观看 | 狠狠操视频网站 | 欧美粗暴analvideos | 国产免费让你躁在线视频 | 久久精品视频日本 | 一级免费大片 | 久久亚洲成人 | 欧美视频一区二区 | 免费欧美精品 | 亚洲免费观看视频 | 国产成人小视频在线观看 | 一区二区久久精品66国产精品 | 国产成人在线免费视频 | 日本一区二区不卡高清 | 天天夜干| 久久影院午夜 | 欧美日韩高清不卡 |