Terror of Colors
Verfasst: 15.07.2006 20:55
Hab mal ein Programm geschrieben, was den direkten Desktopoutput zum Zeichnen benutzt.
Dabei wird über den gesamten Desktop ein Rechteck im XOr - Modus gezeichnet (Effekt: Farben umkehren).
Da der Effekt nach 100 ms wieder rückgängig gemacht wird und nach weiteren 100ms wieder erscheint, führt das zu einem sehr bunten Resultat (kann User aber auch ganz schön nerven, daher der Name).
Sieht eigentlich ganz witzig aus.
Andere Programme können jedoch gleichzeitig laufen und sind weiterhin nutzbar.
Zudem ist der Code sehr kurz:
Dabei wird über den gesamten Desktop ein Rechteck im XOr - Modus gezeichnet (Effekt: Farben umkehren).
Da der Effekt nach 100 ms wieder rückgängig gemacht wird und nach weiteren 100ms wieder erscheint, führt das zu einem sehr bunten Resultat (kann User aber auch ganz schön nerven, daher der Name).
Sieht eigentlich ganz witzig aus.
Andere Programme können jedoch gleichzeitig laufen und sind weiterhin nutzbar.
Zudem ist der Code sehr kurz:
Code: Alles auswählen
Global *mem=AllocateMemory(1024)
Procedure.l DesktopOutput() ;ermittelt den Output des Desktop
mem=PokeL(*mem,1)
ProcedureReturn mem
EndProcedure
ExamineDesktops()
w=DesktopWidth(0) ;ermittelt Breite des Desktops
h=DesktopHeight(0) ;ermittelt Höhe des Desktops
Repeat
Delay(100)
StartDrawing(Desktopoutput())
DrawingMode(2) ;XOr - Modus einschalten
Box(0,0,w,h) ;Rechteck zeichnen
StopDrawing()
Delay(100)
InvalidateRect_(0,0,0) ;Auf den Desktop Gezeichnetes löschen
Until GetAsyncKeyState_(#VK_END) ;bis ENDE-Taste gedrückt wird
InvalidateRect_(0,0,0)