⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 unit1.pas

📁 从CnWizards_0.7.5.105里面分离出来的 水波效果
💻 PAS
字号:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, jpeg, ExtCtrls, CnWaterEffect;

type
  TForm1 = class(TForm)
    imgBanner: TImage;
    tmr1: TTimer;
    procedure FormCreate(Sender: TObject);
    procedure imgBannerMouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
    procedure tmr1Timer(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
  private
    { Private declarations }
    Bmp: TBitmap;
    Water: TCnWaterEffect;

  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation


{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
  Bmp := TBitmap.Create;
  Bmp.Assign(imgBanner.Picture.Graphic);
  imgBanner.Picture.Graphic := nil;
  imgBanner.Picture.Bitmap.Width := Bmp.Width;
  imgBanner.Picture.Bitmap.Height := Bmp.Height;
  Water := TCnWaterEffect.Create;
  Water.SetSize(Bmp.Width, Bmp.Height);
end;

procedure TForm1.imgBannerMouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
  if ssLeft in Shift then
    Water.Blob(X, Y, 1, 60)
  else
    Water.Blob(X, Y, 1, 30);
end;

procedure TForm1.tmr1Timer(Sender: TObject);
begin
  if Random(8) = 1 then
    Water.Blob(-1, -1, Random(1) + 1, Random(500) + 50);
  Water.Render(Bmp, imgBanner.Picture.Bitmap);
  imgBanner.Repaint;
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
  Water.Free;
  Bmp.Free;
end;

end.

⌨️ 快捷键说明

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