unit1.pas

来自「Delphi 7应用编程150例附书源码,第2章-图像处理实例」· PAS 代码 · 共 58 行

PAS
58
字号
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    Image1: TImage;
    btnOpen: TButton;
    btnApply: TButton;
    OpenPictureDialog1: TOpenPictureDialog;
    procedure btnOpenClick(Sender: TObject);
    procedure btnApplyClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
implementation

{$R *.dfm}

procedure TForm1.btnOpenClick(Sender: TObject);
begin
  if OpenPictureDialog1.Execute then
    Image1.Picture.LoadFromFile(OpenPictureDialog1.FileName);
end;

procedure TForm1.btnApplyClick(Sender: TObject);
var
    Bitmap:TBitmap;
begin
    Bitmap:=TBitmap.Create;
    Bitmap.Assign(Image1.Picture.Bitmap);

    StretchBlt(Bitmap.Canvas.Handle,0,0,Image1.Width,Image1.Height,
               Image1.Canvas.Handle,Image1.Width,0,-1*Image1.Width,
               Image1.Height,SRCCOPY);
    Image1.Canvas.Draw(0,0,Bitmap);
    Bitmap.Free;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
    Image1.AutoSize:=true;
    Image1.Stretch:=false;
    OpenPictureDialog1.Filter:='BMP files(*.bmp)|*.bmp';   
end;

end.

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?