Hier, scannt einen Desktopausschnitt und zeichnet dann 1:1 Pixel für Pixel nach. Zwar irgendwie nicht ganz farbecht, aber egal.
Code:
#AutoIt3Wrapper_Au3Check_Parameters=-d -w 1 -w 2 -w 3 -w 4 -w 5 -w 6
#include <GuiConstantsEx.au3>
#include <WinAPI.au3>
#include <GuiImageList.au3>
#include <WindowsConstants.au3>
Opt('MustDeclareVars', 1)
_Main()
Func _Main()
Local $hImage, $hGUI, $hDC, $a, $i, $k
$hGUI = GUICreate("Imagelist: Bilder zeichnen", 100, 100, 100, 100,$WS_POPUP)
GUISetState(@SW_HIDE)
MsgBox("", "", "scan start")
$hImage = _GUIImageList_Create(1, 1, "", "", "")
For $i = 100 to 200
For $k = 100 to 200
_GUIImageList_Add($hImage, _WinAPI_CreateSolidBitmap($hGUI, PixelGetColor($i, $k), 1, 1))
Next
Next
MsgBox("", "", "scan complete")
GUISetState(@SW_SHOW)
$hDC = _WinAPI_GetDC($hGUI)
$a = 0
For $i = 0 to 100 step 1
For $k = 0 to 100 step 1
_GUIImageList_Draw($hImage, $a, $hDC, $i, $k)
$a = $a + 1
Next
Next
_WinAPI_ReleaseDC($hGUI, $hDC)
Do
Until GUIGetMsg() = $GUI_EVENT_CLOSE
GUIDelete()
EndFunc ;==>_Main
Falls du es vergrößert haben willst, hier is die pixelgröße 2x2.
Code:
#AutoIt3Wrapper_Au3Check_Parameters=-d -w 1 -w 2 -w 3 -w 4 -w 5 -w 6
#include <GuiConstantsEx.au3>
#include <WinAPI.au3>
#include <GuiImageList.au3>
#include <WindowsConstants.au3>
Opt('MustDeclareVars', 1)
_Main()
Func _Main()
Local $hImage, $hGUI, $hDC, $a, $i, $k
$hGUI = GUICreate("Imagelist: Bilder zeichnen", 200, 200, 50, 50,$WS_POPUP)
GUISetState(@SW_HIDE)
MsgBox("", "", "scan start")
$hImage = _GUIImageList_Create(2, 2, "", "", "")
For $i = 100 to 200
For $k = 100 to 200
_GUIImageList_Add($hImage, _WinAPI_CreateSolidBitmap($hGUI, PixelGetColor($i, $k), 2, 2))
Next
Next
MsgBox("", "", "scan complete")
GUISetState(@SW_SHOW)
$hDC = _WinAPI_GetDC($hGUI)
$a = 0
For $i = 0 to 200 step 2
For $k = 0 to 200 step 2
_GUIImageList_Draw($hImage, $a, $hDC, $i, $k)
$a = $a + 1
Next
Next
_WinAPI_ReleaseDC($hGUI, $hDC)
Do
Until GUIGetMsg() = $GUI_EVENT_CLOSE
GUIDelete()
EndFunc ;==>_Main
__________________
Edit:
Lol, hier hab ich noch was gefunden, ist aber diesmal nicht von mir, vielleicht kannsts ja gebrauchen.
[Only registered and activated users can see links. Click Here To Register...]
Code:
#include <WindowsConstants.au3>
#include <WinAPI.au3>
#Include <GDIPlus.au3>
_GDIPlus_Startup ()
$hDC = _WinAPI_GetWindowDC(0)
$hGraphic = _GDIPlus_GraphicsCreateFromHDC($hDC)
$Color = 0xFF000000
$hPen = _GDIPlus_PenCreate($Color,2)
For $y = 0 to 300
For $x = 0 to @DesktopWidth Step 5
_GDIPlus_GraphicsDrawLine($hGraphic, @DesktopWidth/2, 0, $x, @DesktopHeight, $hPen)
$Color += Hex(2)
_GDIPlus_PenSetColor($hPen, $Color)
Next
Next
Sleep(5000)
_WinAPI_RedrawWindow(_WinAPI_GetDesktopWindow(), 0, 0, $RDW_INVALIDATE+$RDW_ALLCHILDREN)
_WinAPI_ReleaseDC(0, $hDC)
_GDIPlus_Shutdown()