Bildschirmspaß programmieren
-
Hi,
ich möchte einen kleinen Scherz programmieren. Nach Start des Programms, soll ein Screenshot des aktuellen Bildschirms gemacht werden und über diesen gelegt werden. Dann soll sich das Bild zeitlich verändern, z.B. dass der Bildschirm sich auflöst (irgendwie über Canvas!?).
-
Wie kann ich einen Screenshot des Desktops komplett über den Desktop legen, ohne dass es auffällt?
-
Wie kann ich das Screenshotbild bearbeiten (am besten pixelweise verzerren oder so?
Vielen Dank
Euer Al
-
-
-
Image alClient auf der Form, Form->Width/Height = Screen->Width/Height, Borderstyle = bsNone, FormStyle = fsStayOnTop
-
Lass dir was einfallen, Zugriff bekommst du über Image->Canvas(->Pixels) oder Image->Picture->Bitmap->ScanLine.
-
-
Hab den Screenshot hinbekommen und in ein Image (align = allclient) kopiert. leider ist die auflösung von dem bild schlecht.
habe in OnShow des forms
TCanvas* canvas = new TCanvas();
canvas->Handle = GetWindowDC(GetDesktopWindow());
TRect Dest = Form1->Image1->ClientRect;
TRect Source;
GetWindowRect(GetDesktopWindow(), (LPRECT)&Source);
Source = Rect(0, 0, Screen->Width, Screen->Height);
Form1->Image1->Canvas->CopyRect(Dest, canvas, Source);
delete canvas;was kann ich tun, damit die auflösung exakt der des realen hintergrunds entspricht?
thnx
-
Vor dem Hineinkopieren muss das Image schon genauso gross wie der Screen sein.
-
Hi Guys,
hab an etwas gedacht, was (möglicherweise) weiterhelfen könnte...
Hope it helps...
Good Luck!
-
Danke, habs schon hinbekommen, ist zu köstlich!