国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Delphi > 正文

用Delphi實現(xiàn)圖像放大鏡

2019-11-17 05:09:48
字體:
供稿:網(wǎng)友

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

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

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

  本例的核心是StretchBlt函數(shù),利用StretchBlt函數(shù)實現(xiàn)局部圖像放大,響應(yīng)代碼如下:

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;
  程序首先會調(diào)用StretchBlt函數(shù),以鼠標(biāo)當(dāng)前位置作為中心點,以邊長為40選中Image1組件上的局部圖像,并放大此局部圖像到Image2組件上。然后通過調(diào)用Image2組件的Refresh方法以刷新Image2組件的顯示。最后設(shè)置鼠標(biāo)指針為新的外形。

  程序代碼如下:

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鍵運行程序,程序運行結(jié)果如圖2所示。

用Delphi實現(xiàn)圖像放大鏡(圖二)
圖2 程序運行結(jié)果

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

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

圖片精選

主站蜘蛛池模板: 章丘市| 两当县| 大埔区| 井陉县| 福建省| 象州县| 建湖县| 房山区| 岱山县| 伊川县| 成武县| 龙口市| 金寨县| 南安市| 池州市| 游戏| 柳林县| 莫力| 若尔盖县| 广水市| 宿州市| 丹棱县| 临城县| 华安县| 调兵山市| 安宁市| 新乐市| 彭阳县| 洛浦县| 新化县| 沈丘县| 济源市| 宜兰市| 通州区| 蓝山县| 涿鹿县| 泉州市| 沈阳市| 泰顺县| 宝丰县| 青冈县|