Eine kleine Fingerübung die ganz witzige Ergebnisse liefert, Vorsicht, nicht unter 20 Pixel nehmen, sonst dauert das ewig! Sich könnte man das noch besser machen, naja. Skript ist im Anhang!
MfG, campweb
Eine kleine Fingerübung die ganz witzige Ergebnisse liefert, Vorsicht, nicht unter 20 Pixel nehmen, sonst dauert das ewig! Sich könnte man das noch besser machen, naja. Skript ist im Anhang!
MfG, campweb
Keine Gute Umsetzung einer nichtmal schlechten Idee.
Alles was Grafik angeht sollte man mittels GDI(+) bewerkstelligen.
So erzeugst du unmengen GUI´s die das ganze System lahm legen.
Ich hatte nach dem Beenden das Problem, dass es eine Weile gedauert hat, bis Alle Guis geschlossen werden konnten.
Mache dich mit der Macht vertraut junger Padawan
Versuchs mal mit einfachen GDI+ Sachen.
Damit kann man nach kurzer Lernphase schon tolle Sachen mit herstellen.
lg
Hab mich doch schon mit GDI+ beschäftigt, ich werds mal umschreiben...
Die Idee ist wie gesagt, nicht schlecht. Ich werde das mal versuchen mit GDI+ zu gestalten, oder mit nem screenshot, der dann ausgelesen wird, statt mit pixelgetcolor und so, weil das nicht besonders schön und performant ist ;-). Auch wenn GDI+ relativ lahm ist, ist es immer besser als 99999 GUIs zu machen. Gebt mir 1-2Stunden. Eventuel wirds auch erst morgen^^
//Edit
Ich stehe vor einem kleinem problem mit bitmapsetpixel, ansonsten aber alles fertig
//Edit2
Problem gelöst!
Das fertige Script:
Berechnung und so alles im RAM!
#include <Screencapture.au3>
#include <GDIPlus.au3>
#include <WindowsConstants.au3>
#include <GuiConstantsEx.au3>
#include <GDIP.au3>
#include <WinAPI.au3>
$width = 400
$height = 400
_GDIPlus_Startup()
[/autoit] [autoit][/autoit] [autoit]$Bitmap = _ScreenCapture_Capture("", 0, 0, @DesktopWidth, @DesktopHeight)
$hBitmap = _GDIPlus_BitmapCreateFromHBITMAP($Bitmap)
$hDC = _WinAPI_GetDC(0)
$BMP = _WinAPI_CreateCompatibleBitmap($hDC, $width, $height)
$hBMP = _GDIPlus_BitmapCreateFromHBITMAP($BMP)
Global $x1 = 0, $x2 = 0, $y1 = 0, $y2 = 0
$progress = ProgressOn("Berechne", "Daten werden berechnet")
$hwnd = GUICreate("", @DesktopWidth, @DesktopHeight, 0, 0, BitOR($WS_MAXIMIZE, $WS_POPUP))
$hGraphics = _GDIPlus_GraphicsCreateFromHWND($hwnd)
For $x1 = 0 to @DesktopWidth step @DesktopWidth/$width
For $y1 = 0 to @DesktopHeight step @DesktopHeight/$height
_GDIPlus_BitmapSetPixel($hBMP, $x2, $y2, "0xFF" & String(hex(_GDIPlus_BitmapGetPixel($hBitmap, $x1, $y1),6)))
$y2 += 1
Next
$x2 += 1
$y2 = 0
$percentage = ($x1)/(@DesktopWidth)*100
ProgressSet($percentage)
Next
ProgressOff()
GUISetState()
Do
_GDIPlus_GraphicsDrawImageRect($hGraphics, $hBMP, 0, 0, @DesktopWidth, @DesktopHeight)
Sleep(100)
Until GUIGetMsg() = $GUI_EVENT_CLOSE
_GDIPlus_Shutdown()