📄 pseffect.pas
字号:
Image.Canvas.Handle, 0, H - mY,
SRCCOPY);
end;
// Expand in from top / bottom
procedure Effect030(Display, Image: TBitmap; W, H, X, Y, Progress: Integer);
var
mY, mH: Integer;
begin
mY := Y div 2;
mH := H div 2;
StretchBlt(Display.Canvas.Handle, 0, 0, W, mY,
Image.Canvas.Handle, 0, 0, W, mH,
SRCCOPY);
StretchBlt(Display.Canvas.Handle, 0, H - mY, W, mY,
Image.Canvas.Handle, 0, mH, W, mH,
SRCCOPY);
end;
// Unroll from top
procedure Effect031(Display, Image: TBitmap; W, H, X, Y, Progress: Integer);
var
N: Integer;
begin
N := H div 10;
if N > Y then
N := Y
else if 2 * N > H - Y then
N := (H - Y) div 2;
StretchBlt(Display.Canvas.Handle, 0, Y + N - 1, W, -N,
Image.Canvas.Handle, 0, Y + N, W, N,
SRCCOPY);
BitBlt(Display.Canvas.Handle, 0, 0, W, Y,
Image.Canvas.Handle, 0, 0,
SRCCOPY);
ApplyVReflect(Display, 64, Y, N);
end;
// Unroll from bottom
procedure Effect032(Display, Image: TBitmap; W, H, X, Y, Progress: Integer);
var
N: Integer;
begin
N := H div 10;
if N > Y then
N := Y
else if 2 * N > H - Y then
N := (H - Y) div 2;
StretchBlt(Display.Canvas.Handle, 0, H - Y - 1, W, -N,
Image.Canvas.Handle, 0, H - Y - 2 * N - 1, W, N,
SRCCOPY);
BitBlt(Display.Canvas.Handle, 0, H - Y, W, Y,
Image.Canvas.Handle, 0, H - Y,
SRCCOPY);
ApplyVReflect(Display, 64, H - Y - N, N);
end;
// Expand from bottom
procedure Effect033(Display, Image: TBitmap; W, H, X, Y, Progress: Integer);
var
N: Integer;
begin
BitBlt(Display.Canvas.Handle, 0, 0, W, Y,
Image.Canvas.Handle, 0, 0,
SRCCOPY);
N := Min(H - Y, H div 10);
StretchBlt(Display.Canvas.Handle, 0, Y, W, H - Y,
Image.Canvas.Handle, 0, Y, W, N,
SRCCOPY);
end;
// Expand in from top
procedure Effect034(Display, Image: TBitmap; W, H, X, Y, Progress: Integer);
var
N: Integer;
begin
BitBlt(Display.Canvas.Handle, 0, H - Y, W, Y,
Image.Canvas.Handle, 0, H - Y,
SRCCOPY);
N := Max((H - Y) - H div 10, 0);
StretchBlt(Display.Canvas.Handle, 0, 0, W, H - Y,
Image.Canvas.Handle, 0, N, W, H - Y - N,
SRCCOPY);
end;
// Expand from bottom right
procedure Effect035(Display, Image: TBitmap; W, H, X, Y, Progress: Integer);
begin
StretchBlt(Display.Canvas.Handle, W - X, H - Y, X, Y,
Image.Canvas.Handle, 0, 0, W, H,
SRCCOPY);
end;
// Expand from top right
procedure Effect036(Display, Image: TBitmap; W, H, X, Y, Progress: Integer);
begin
StretchBlt(Display.Canvas.Handle, W - X, 0, X, Y,
Image.Canvas.Handle, 0, 0, W, H,
SRCCOPY);
end;
// Expand from top left
procedure Effect037(Display, Image: TBitmap; W, H, X, Y, Progress: Integer);
begin
StretchBlt(Display.Canvas.Handle, 0, 0, X, Y,
Image.Canvas.Handle, 0, 0, W, H,
SRCCOPY);
end;
// Expand from bottom left
procedure Effect038(Display, Image: TBitmap; W, H, X, Y, Progress: Integer);
begin
StretchBlt(Display.Canvas.Handle, 0, H - Y, X, Y,
Image.Canvas.Handle, 0, 0, W, H,
SRCCOPY);
end;
// Slide in from bottom right
procedure Effect039(Display, Image: TBitmap; W, H, X, Y, Progress: Integer);
begin
BitBlt(Display.Canvas.Handle, W - X, H - Y, W, H,
Image.Canvas.Handle, 0, 0,
SRCCOPY);
end;
// Slide in from top right
procedure Effect040(Display, Image: TBitmap; W, H, X, Y, Progress: Integer);
begin
BitBlt(Display.Canvas.Handle, W - X, Y - H, W, H,
Image.Canvas.Handle, 0, 0,
SRCCOPY);
end;
// Slide in from top left
procedure Effect041(Display, Image: TBitmap; W, H, X, Y, Progress: Integer);
begin
BitBlt(Display.Canvas.Handle, X - W, Y - H, W, H,
Image.Canvas.Handle, 0, 0,
SRCCOPY);
end;
// Slide in from bottom left
procedure Effect042(Display, Image: TBitmap; W, H, X, Y, Progress: Integer);
begin
BitBlt(Display.Canvas.Handle, X - W, H - Y, W, H,
Image.Canvas.Handle, 0, 0,
SRCCOPY);
end;
// Reveal from top left
procedure Effect043(Display, Image: TBitmap; W, H, X, Y, Progress: Integer);
begin
BitBlt(Display.Canvas.Handle, 0, 0, X, Y,
Image.Canvas.Handle, 0, 0,
SRCCOPY);
end;
// Reveal from bottom left
procedure Effect044(Display, Image: TBitmap; W, H, X, Y, Progress: Integer);
begin
BitBlt(Display.Canvas.Handle, 0, H - Y, X, Y,
Image.Canvas.Handle, 0, H - Y,
SRCCOPY);
end;
// Reveal from bottom right
procedure Effect045(Display, Image: TBitmap; W, H, X, Y, Progress: Integer);
begin
BitBlt(Display.Canvas.Handle, W - X, H - Y, X, Y,
Image.Canvas.Handle, W - X, H - Y,
SRCCOPY);
end;
// Reveal from top right
procedure Effect046(Display, Image: TBitmap; W, H, X, Y, Progress: Integer);
begin
BitBlt(Display.Canvas.Handle, W - X, 0, X, Y,
Image.Canvas.Handle, W - X, 0,
SRCCOPY);
end;
// Appear and Contract to top left
procedure Effect047(Display, Image: TBitmap; W, H, X, Y, Progress: Integer);
begin
StretchBlt(Display.Canvas.Handle, 0, 0, (2 * W) - X, (2 * H) - Y,
Image.Canvas.Handle, 0, 0, X, Y,
SRCCOPY);
end;
// Appear and Contract to bottom left
procedure Effect048(Display, Image: TBitmap; W, H, X, Y, Progress: Integer);
begin
StretchBlt(Display.Canvas.Handle, 0, Y - H, (2 * W) - X, (2 * H) - Y,
Image.Canvas.Handle, 0, H - Y, X, Y,
SRCCOPY);
end;
// Appear and Contract to bottom right
procedure Effect049(Display, Image: TBitmap; W, H, X, Y, Progress: Integer);
begin
StretchBlt(Display.Canvas.Handle, X - W, Y - H, (2 * W) - X, (2 * H) - Y,
Image.Canvas.Handle, W - X, H - Y, X, Y,
SRCCOPY);
end;
// Appear and Contract to top right
procedure Effect050(Display, Image: TBitmap; W, H, X, Y, Progress: Integer);
begin
StretchBlt(Display.Canvas.Handle, X - W, 0, (2 * W) - X, (2 * H) - Y,
Image.Canvas.Handle, W - X, 0, X, Y,
SRCCOPY);
end;
// Appear and Contract to middle
procedure Effect051(Display, Image: TBitmap; W, H, X, Y, Progress: Integer);
begin
StretchBlt(Display.Canvas.Handle, X - W, Y - H, (3 * W) - (2 * X), (3 * H) - (2 * Y),
Image.Canvas.Handle, (W - X) div 2, (H - Y) div 2, X, Y,
SRCCOPY);
end;
// Expand out from centre
procedure Effect052(Display, Image: TBitmap; W, H, X, Y, Progress: Integer);
begin
StretchBlt(Display.Canvas.Handle, (W - X) div 2, (H - Y) div 2, X, Y,
Image.Canvas.Handle, 0, 0, W, H,
SRCCOPY);
end;
// Reveal out from centre
procedure Effect053(Display, Image: TBitmap; W, H, X, Y, Progress: Integer);
begin
BitBlt(Display.Canvas.Handle, (W - X) div 2, (H - Y) div 2, X, Y,
Image.Canvas.Handle, (W - X) div 2, (H - Y) div 2,
SRCCOPY);
end;
// Reveal in to centre
procedure Effect054(Display, Image: TBitmap; W, H, X, Y, Progress: Integer);
var
mX, mY: Integer;
begin
mX := X div 2;
mY := Y div 2;
with Display.Canvas do
begin
ExcludeClipRect(Handle, mX, mY, W - mX, H - mY);
try
BitBlt(Handle, 0, 0, W, H, Image.Canvas.Handle, 0, 0, SRCCOPY);
finally
SelectClipRgn(Handle, 0);
end;
end;
end;
// Quarters Reveal in to middle
procedure Effect055(Display, Image: TBitmap; W, H, X, Y, Progress: Integer);
var
mX, mY: Integer;
begin
mX := X div 2;
mY := Y div 2;
BitBlt(Display.Canvas.Handle, 0, 0, mX, mY,
Image.Canvas.Handle, 0, 0,
SRCCOPY);
BitBlt(Display.Canvas.Handle, 0, H - mY, mX, mY,
Image.Canvas.Handle, 0, H - mY,
SRCCOPY);
BitBlt(Display.Canvas.Handle, W - mX, H - mY, mX, mY,
Image.Canvas.Handle, W - mX, H - mY,
SRCCOPY);
BitBlt(Display.Canvas.Handle, W - mX, 0, mX, mY,
Image.Canvas.Handle, W - mX, 0,
SRCCOPY);
end;
// Quarters Expand to middle
procedure Effect056(Display, Image: TBitmap; W, H, X, Y, Progress: Integer);
var
mX, mY, mW, mH: Integer;
begin
mX := X div 2;
mY := Y div 2;
mW := W div 2;
mH := H div 2;
StretchBlt(Display.Canvas.Handle, 0, 0, mX, mY,
Image.Canvas.Handle, 0, 0, mW, mH,
SRCCOPY);
StretchBlt(Display.Canvas.Handle, 0, H - mY, mX, mY,
Image.Canvas.Handle, 0, mH, mW, mH,
SRCCOPY);
StretchBlt(Display.Canvas.Handle, W - mX, H - mY, mX, mY,
Image.Canvas.Handle, mW, mH, mW, mH,
SRCCOPY);
StretchBlt(Display.Canvas.Handle, W - mX, 0, mX, mY,
Image.Canvas.Handle, mW, 0, mW, mH,
SRCCOPY);
end;
// Quarters Slide in to middle
procedure Effect057(Display, Image: TBitmap; W, H, X, Y, Progress: Integer);
var
mX, mY, mW, mH: Integer;
begin
mX := X div 2;
mY := Y div 2;
mW := W div 2;
mH := H div 2;
BitBlt(Display.Canvas.Handle, mX - mW, 0, mW, mH,
Image.Canvas.Handle, 0, 0,
SRCCOPY);
BitBlt(Display.Canvas.Handle, mW, mY - mH, mW, mH,
Image.Canvas.Handle, mW, 0,
SRCCOPY);
BitBlt(Display.Canvas.Handle, W - mX, mH, mW, mH,
Image.Canvas.Handle, mW, mH,
SRCCOPY);
BitBlt(Display.Canvas.Handle, 0, H - mY, mW, mH,
Image.Canvas.Handle, 0, mH,
SRCCOPY);
end;
// Curved Reveal from left
procedure Effect058(Display, Image: TBitmap; W, H, X, Y, Progress: Integer);
var
Rgn: HRGN;
begin
Rgn := CreateRoundRec
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -