unit1.pas

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

PAS
61
字号
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    Image1: TImage;
    btnOpen: TButton;
    OpenPictureDialog1: TOpenPictureDialog;
    PaintBox1: TPaintBox;
    procedure FormCreate(Sender: TObject);
    procedure btnOpenMouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
    self.OpenPictureDialog1.Filter := 'BMP files (*.bmp)|*.bmp';
end;

procedure TForm1.btnOpenMouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
var
    i,j:Integer;
    hDC1:HDC;
    hDC2:HDC;
begin
    if(self.OpenPictureDialog1.Execute()) then
    begin
        Image1.Picture.Bitmap.LoadFromFile(OpenPictureDialog1.FileName);
        Image1.Visible:=true;

        hDC1:=Image1.Canvas.Handle;
        hDC2:=PaintBox1.Canvas.Handle;
        for i:=0 to (Image1.Width div 10) do
        begin
            for j:=0 to 10 do
            begin
                BitBlt(hDC2,j*Image1.Width div 10,0,i+2,Image1.Height,hDC1,j*Image1.Width div 10,0,SRCCOPY);
                Sleep(10);
            end;
        end;
    end;
end;

end.

⌨️ 快捷键说明

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