uses Math
type
TRGBArray = ARRAY[0..0] OF TRGBTriple;
pRGBArray = ^TRGBArray;
const d = 250;
var
Form1: TForm1;
orig, temp: TBitmap;
r : TRect;
hypotenuse : Array of Array of Integer;
//
procedure TForm1.FormCreate(Sender: TObject);
var
c : TCanvas;
i, j : Integer;
begin
DoubleBuffered := true;
ShowCursor(false);
Top := 0;
Left := 0;
ClientWidth := Screen.Width;
ClientHeight := Screen.Height;
r := Rect(0 , 0, ClientWidth, ClientHeight);
orig := TBitmap.Create;
orig.PixelFormat := pf24Bit;
orig.Width := ClientWidth;
orig.Height := ClientHeight;
temp := TBitmap.Create;
temp.Canvas.Brush.Color := clBlack;
temp.PixelFormat := pf24Bit;
temp.Width := ClientWidth;
temp.Height := ClientHeight;
c := TCanvas.Create;
try
c.Handle := GetWindowDC(GetDesktopWindow);
orig.Canvas.CopyRect(r, c, r);
finally
c.Free;
end;
Canvas.Draw(0, 0, orig);
setLength(hypotenuse, d+1, d+1);
for i := 0 to d do for j := 0 to d do hypotenuse[i, j] := Round(Hypot(i, j));
end;
procedure TForm1.FormClick(Sender: TObject);
begin
Close;
end;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
orig.Free;
temp.Free;
end;
procedure TForm1.FormPaint(Sender: TObject);
begin
Canvas.Draw(0, 0, temp);
end;
procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
begin
Close;
end;
procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
var
i, j, x0, x1, y0, y1, h : Integer;
O, T : PRGBArray;
begin
x0 := max(0, X - d);
x1 := min(orig.Width-1, X + d);
y0 := max(0, Y - d);
y1 := min(orig.Height-1, Y + d);
temp.Canvas.FillRect(r);
for j := y0 to y1 do begin
O := orig.Scanline[j];
T := temp.ScanLine[j];
for i := x0 to x1 do begin
h := hypotenuse[Abs(X-i), Abs(Y-j)];
if h < d then begin
h := Trunc(h/d*255);
T[i].rgbtRed := max(0, O[i].rgbtRed - h);
T[i].rgbtGreen := max(0, O[i].rgbtGreen - h);
T[i].rgbtBlue := max(0, O[i].rgbtBlue - h);
end;
end;
end;
Repaint;
end;
Draw Flashlight on Mouse
Abonnieren
Posts (Atom)
Beliebte Posts
-
Network Source Code Update Source Code Network Update : https://asciigen.blogspot.com/p/network.html Send Message 1.0 Source Server Client ...
-
Windows Key Sniffer 0.82 - Update 08/2024 Der Windows Key Sniffer hat mir im Laufe der Zeit viel Arbeit erspart und unterstützt, viele Wi...
-
Windows Defender Bypass Version 0.75 - Update 11/2024 Den Windows 10-eigenen Virenschutz Defender kann man auf mehreren Wegen abschalten,...
-
ASCii GIF Animator Update Version 0.68 (32 bit) - 11/2024 Bei dieser überarbeiteten Version ist die Kompatibilität zu den verschiedenen GIF...
-
MD5 Hacker v.0.26 - Update 08.2024 MD5 Hashs sollten eigentlich nicht entschlüsselt werden können. Jedoch gibt es Tools, mit welchen auch ...
-
Host Editor Version 0.64 - Update 11/2024 Hosts File Editor allows for the easy editing of host files and backup creation. Create your own h...
-
Dir Sniffer Version 0.08 - Update 08/2024 Dir Sniffer ist ein kleines aber nützliches Tool um herauszufinden, was ihr Programm auf ihrem...
-
Oldskool Font Generator v.0.29 - Update 11/2023 Das Tool stell 508 Bitmap Fonts zu Verfügung. Eigene Fonts können integriert werden, sie...
-
ASCii Text Creator v.0.24 - Update 11.2023 * Add BugFix Gui Move Message Send * Add 447 Figlet Font Pack * Fixed Invert Unicode Function * ...
Keine Kommentare:
Kommentar veröffentlichen