1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Mitglieder
  3. UEZ

Beiträge von UEZ

  • REGEX-(Mist)

    • UEZ
    • 2. Januar 2013 um 23:12

    D.h., wenn im Namen kein Buchstabe vorkommt, dann soll die Datei in den entsprechenden Ordner verschoben werden, ansonsten in einen anderen Ordner.

    Ferner kommen die Buchstaben nur am Anfang vor.

    Richtig?

    Gruß,
    UEZ

  • Coole Bilder berechnen (Domain coloring / complex numbers) (Assembler)

    • UEZ
    • 27. Dezember 2012 um 01:15

    Very impressiv Andy, meine Eukalyptus :D

    Das hast du also zu Weihnachten gemacht! ;)

    Starkes Stück arbeit, vor allem der ASM Teil ist der Hammer! Cool wäre noch eine Art Animation...


    Ich habe da auch eine Vision als Intro für meine Watermark App, aber ich habe keine Ahnung, ob ich die Vision in Bits und Bytes bringen kann... ?(

    LG,
    UEZ

  • QR-Code Dll - Übergabe Errorlevel-Parameter, Aufruf: DestroyBuffer() ?

    • UEZ
    • 22. Dezember 2012 um 23:28

    Diese Version habe ich benutzt: http://users.telenet.be/ws36637/download/quricol.zip

    Mit diesem Code funzt es unter X64:

    [autoit]


    #AutoIt3Wrapper_UseX64=y
    Global $iMargin = 4, $iPixelSize = 2
    $sPath = @ScriptDir & "\"
    $_sImageName = "Test"
    $_sText = "Test"

    [/autoit][autoit][/autoit][autoit]

    $a = DllCall("quricol64.dll", "none", "GenerateBMPW", "wstr", $sPath & $_sImageName & ".bmp", "str", $_sText, "int", $iMargin, "int", $iPixelSize) ; == funktioniert
    ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : $a = ' & $a & @crlf & '>Error code: ' & @error & @crlf) ;### Debug Console

    [/autoit][autoit][/autoit][autoit]

    ; == TErrorCorretion
    Global Enum $QR_ECLEVEL_L = 0, $QR_ECLEVEL_M, $QR_ECLEVEL_Q, $QR_ECLEVEL_H
    $b = DllCall("quricol64.dll", "none", "GenerateBMPW", "wstr", $sPath & $_sImageName & "2.bmp", "str", $_sText, "int", $iMargin, "int", $iPixelSize, "int", $QR_ECLEVEL_Q) ; == funktioniert nicht
    ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : $b = ' & $b & @crlf & '>Error code: ' & @error & @crlf) ;### Debug Console

    [/autoit][autoit][/autoit][autoit]

    ;~ DllCall("quricol32.dll", "none", "DestroyBuffer", "ptr", $iAddress) ; <== CRASH!!!

    [/autoit]

    Es werden 2 BMPs erstellt, die unterschiedlich sind.

    Keine Ahnung, wann man DestroyBuffer benutzen muss. Vielleicht ist dieser Link nützlich: http://delphi32.blogspot.de/2011/11/qurico…or-library.html

    Gruß,
    UEZ

  • Bildschirmschonereinstellungsfenster kleines Vorschaufenster

    • UEZ
    • 19. Dezember 2012 um 23:07

    Probiere es mal damit:

    Spoiler anzeigen
    [autoit]


    #AutoIt3Wrapper_OutFile=c:\windows\system32\Test.scr
    #AutoIt3Wrapper_UseX64=n

    [/autoit] [autoit][/autoit] [autoit]

    #include <Date.au3>
    #include <GDIPlus.au3>
    #include <Misc.au3>
    #include <Timers.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>

    [/autoit] [autoit][/autoit] [autoit]

    Opt("GUIOnEventMode", 1)
    _Singleton(@AutoItExe)

    [/autoit] [autoit][/autoit] [autoit]

    ; -Authors: name22 (http://www.autoit.de), Andy (http://www.autoit.de), Facemix (http://www.autoit.de)

    [/autoit] [autoit][/autoit] [autoit]

    Global $idle_o, $idle_n, $parent_pid, $aChildProcess, $iFlakeCount, $iMaxRadius

    [/autoit] [autoit][/autoit] [autoit]

    #region WINDOWSTOOL

    [/autoit] [autoit][/autoit] [autoit]

    Global $iCount = 10, $iExplosion = 100, $iExplosionGround = 1, $iRadius = 600, $iBack = 0x09000000, $iSleep = 5

    [/autoit] [autoit][/autoit] [autoit]

    Global Const $app_name = "GDI+ Countdown-Screensaver by (C) Clemens 2012"
    Global Const $ver = "v1.0 build 2012-11-24"
    Global $hGUI, $iW, $iH, $GUI_H, $GUI_W, $GUI_X, $GUI_Y, $r, $show_FPS = 0
    Global $maxStars = 150, $size = 1
    Global $parent_pid, $aChildProcess
    Global Const $hFullScreen = WinGetHandle("Program Manager")
    Global Const $aFullScreen = WinGetPos($hFullScreen)
    Global $main_screen_x = Abs($aFullScreen[0])
    Global Const $ini_file = @ScriptDir & "\GDI+ Countdown-Screensaver.ini"

    [/autoit] [autoit][/autoit] [autoit]

    Global $cmdparam = "/s"
    If $CmdLine[0] Then $cmdparam = StringLeft($CmdLine[1], 2)

    [/autoit] [autoit][/autoit] [autoit]

    Switch $cmdparam
    Case "/s"
    $iW = @DesktopWidth
    $iH = @DesktopHeight
    $GUI_X = $aFullScreen[0]
    $GUI_Y = $aFullScreen[1]
    $GUI_W = $aFullScreen[2]
    $GUI_H = $aFullScreen[3]
    $hGUI = GUICreate($app_name, $GUI_W, $GUI_H, $GUI_X, $GUI_Y, $WS_POPUP, $WS_EX_TOPMOST)
    $iFlakeCount = 500
    $iMaxRadius = 3
    Case "/c"
    Opt("GUIOnEventMode", 0)
    MsgBox(0,"Einstellungen","Die Einstellungen sind derzeit noch nicht vorhanden! - made by (C) Clemens")
    Exit

    [/autoit] [autoit][/autoit] [autoit]

    Case "/p"
    $iFlakeCount = 50
    $iMaxRadius = 2
    $iW = 152
    $iH = 112
    $GUI_X = 0
    $GUI_Y = 0
    $GUI_W = $iW
    $GUI_H = $iH
    $main_screen_x = 0
    $show_FPS = False
    ;$maxStars = 30
    $size = 1
    $hGUI = GUICreate("GDI+ Countdown-Screensaver by (C) Clemens", $GUI_W, $GUI_H, $GUI_X, $GUI_Y, $WS_POPUP)
    _WinAPI_SetParent($hGUI, $CmdLine[2])
    $parent_pid = _WinAPI_GetParentProcess(@AutoItPID)
    EndSwitch
    #endregion WINDOWSTOOL

    [/autoit] [autoit][/autoit] [autoit]

    ; ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

    [/autoit] [autoit][/autoit] [autoit]

    #region BILDSCHIRMSCHOHNER
    Global Const $nTau = ACos(-1) * 2
    Global $vNTdll = DllOpen("ntdll.dll")
    Global $tPrecSleep = DllStructCreate("int64 time;")
    Global $pPrecSleep = DllStructGetPtr($tPrecSleep)

    [/autoit] [autoit][/autoit] [autoit]

    #region SETTINGS

    [/autoit] [autoit][/autoit] [autoit]

    Global $iWidth = $iW
    Global $iHeight = $iH
    Global $nFPS = 25

    [/autoit] [autoit][/autoit] [autoit]

    Global $nStepSpeed = 1

    [/autoit] [autoit][/autoit] [autoit]

    #region COLORS
    Global $iARGB_BG = 0xFF505050
    Global $iARGB_Snow = 0xFFFFFFFF
    Global $iARGB_TextFill = 0xFF0000FF
    Global $iARGB_TextFill2 = 0xFFFF0000
    Global $iARGB_TextFill3 = 0xFF0000FF
    Global $iARGB_TextFill4 = 0xFF353535
    Global $iARGB_TextBorder = 0xFFA00000
    #endregion COLORS

    [/autoit] [autoit][/autoit] [autoit]

    #region SNOWFLAKES
    Global $iMinFallingSpeed = 20, $iMaxFallingSpeed = 50
    Global $iMinOscillations = 2, $iMaxOscillations = 5
    Global $iMinOscillationDist = 10, $iMaxOscillationDist = 50
    Global $iMinRadius = 1
    #endregion SNOWFLAKES

    [/autoit] [autoit][/autoit] [autoit]

    #region SNOWBLAST
    Global $iBlastRadius = 200
    Global $iBlastAccell = 300
    Global $nAirFriction = 0.95
    #endregion SNOWBLAST

    [/autoit] [autoit][/autoit] [autoit]

    #endregion SETTINGS

    [/autoit] [autoit][/autoit] [autoit]

    #region Global Variables
    Global $aFlakes[$iFlakeCount + 1][8] = [[$iFlakeCount]]
    Global $hDC_Window, $hDC_Bitmap, $hBitmap, $hGraphics, $hOldObj, $hBrush_Snow, $hBrush_TextFill, $hPen_Border
    Global $hMatrix, $tLayout, $hFormat, $hFamily, $hPath, $nScale, $nStep = 0, $iM, $iS, $iD, $sText, $sTextOld
    Global $nSleepTime = 1000 / $nFPS
    #endregion Global Variables

    [/autoit] [autoit][/autoit] [autoit]

    #region Generate Snow
    For $i = 1 To $aFlakes[0][0]
    $aFlakes[$i][0] = Random(10, $iWidth - 10, 1)
    $aFlakes[$i][1] = Random(-$iHeight, 0, 1)
    $aFlakes[$i][2] = 0
    $aFlakes[$i][3] = 0
    $aFlakes[$i][4] = Random($iMinRadius, $iMaxRadius, 1)
    $aFlakes[$i][5] = Random($iMinFallingSpeed, $iMaxFallingSpeed)
    $aFlakes[$i][6] = Random($iMinOscillations, $iMaxOscillations, 1)
    $aFlakes[$i][7] = Random($iMinOscillationDist, $iMaxOscillationDist) * (-1) ^ Random(1, 2, 1)
    Next
    #endregion Generate Snow

    [/autoit] [autoit][/autoit] [autoit]

    GUISetState()

    [/autoit] [autoit][/autoit] [autoit]

    #region Initialize GFX Resources
    $hDC_Window = _WinAPI_GetDC($hGUI)
    $hDC_Bitmap = _WinAPI_CreateCompatibleDC($hDC_Window)
    $hBitmap = _WinAPI_CreateCompatibleBitmap($hDC_Window, $iWidth, $iHeight)
    $hOldObj = _WinAPI_SelectObject($hDC_Bitmap, $hBitmap)

    [/autoit] [autoit][/autoit] [autoit]

    _GDIPlus_Startup()

    [/autoit] [autoit][/autoit] [autoit]

    $hGraphics = _GDIPlus_GraphicsCreateFromHDC($hDC_Bitmap)
    _GDIPlus_GraphicsSetClipRect($hGraphics, 0, 0, $iWidth, $iHeight)
    _GDIPlus_GraphicsSetSmoothingMode($hGraphics, 2)

    [/autoit] [autoit][/autoit] [autoit]

    $hBrush_Snow = _GDIPlus_BrushCreateSolid($iARGB_Snow)
    $hBrush_TextFill = _GDIPlus_BrushCreateSolid($iARGB_TextFill)
    $hPen_Border = _GDIPlus_PenCreate($iARGB_TextBorder, 3)
    DllCall($ghGDIPDll, "uint", "GdipSetPenLineJoin", "hwnd", $hPen_Border, "int", 2)

    [/autoit] [autoit][/autoit] [autoit]

    $hMatrix = _GDIPlus_MatrixCreate()
    $tLayout = _GDIPlus_RectFCreate(0, 0, 0, 0)
    $hFormat = _GDIPlus_StringFormatCreate()
    $hFamily = _GDIPlus_FontFamilyCreate("Arial")
    $hPath = _CreatePath("88 - 88:88:88")

    [/autoit] [autoit][/autoit] [autoit]

    _GDIPlus_GraphicsClear($hGraphics, $iARGB_BG)
    _Redraw()
    #endregion Initialize GFX Resources

    [/autoit] [autoit][/autoit] [autoit]

    #region Register Events
    OnAutoItExitRegister("_Shutdown")
    GUIRegisterMsg($WM_PAINT, "_Redraw")
    GUISetOnEvent($GUI_EVENT_CLOSE, "_Close")
    GUISetOnEvent($GUI_EVENT_PRIMARYDOWN, "_Click")

    [/autoit] [autoit][/autoit] [autoit]

    AdlibRegister("_UpdateTime", 100)
    #endregion Register Events

    [/autoit] [autoit][/autoit] [autoit]

    $nT_Sleep = TimerInit() + $nSleepTime

    [/autoit] [autoit][/autoit] [autoit]

    While True
    If $cmdparam = "/s" Then
    GUISetCursor(16, 1, $hGUI)
    $idle_n = _Timer_GetIdleTime()
    If $idle_n < $idle_o Then _Close()
    $idle_o = $idle_n
    Else
    If Not BitAND(WinGetState($hGUI), 2) Then _Close()
    $aChildProcess = _WinAPI_EnumChildProcess($parent_pid)
    If $aChildProcess[0][0] > 1 Then _Close()
    EndIf
    DllStructSetData($tPrecSleep, "time", -10000 * ($nSleepTime - TimerDiff($nT_Sleep)))
    DllCall($vNTdll, "dword", "ZwDelayExecution", "int", 0, "ptr", $pPrecSleep)
    $nFrameTime = TimerDiff($nT_Sleep)
    $nT_Sleep = TimerInit()

    [/autoit] [autoit][/autoit] [autoit]

    $nFPS_Cur = 1000 / $nFrameTime

    [/autoit] [autoit][/autoit] [autoit]

    $nStep += $nStepSpeed / $nFPS_Cur
    $nScale = Abs(Sin($nStep))

    [/autoit] [autoit][/autoit] [autoit]

    _GDIPlus_GraphicsClear($hGraphics, $iARGB_BG)

    [/autoit] [autoit][/autoit] [autoit]

    DllCall($ghGDIPDll, "uint", "GdipTranslateWorldTransform", "hwnd", $hGraphics, "float", -$iWidth / 2, "float", -$iHeight / 2, "int", False)
    DllCall($ghGDIPDll, "uint", "GdipScaleWorldTransform", "hwnd", $hGraphics, "float", $nScale, "float", $nScale, "int", True)
    DllCall($ghGDIPDll, "uint", "GdipTranslateWorldTransform", "hwnd", $hGraphics, "float", $iWidth / 2, "float", $iHeight / 2, "int", True)

    [/autoit] [autoit][/autoit] [autoit]

    DllCall($ghGDIPDll, "uint", "GdipDrawPath", "hwnd", $hGraphics, "hwnd", $hPen_Border, "hwnd", $hPath)
    DllCall($ghGDIPDll, "uint", "GdipFillPath", "hwnd", $hGraphics, "hwnd", $hBrush_TextFill, "hwnd", $hPath)

    [/autoit] [autoit][/autoit] [autoit]

    DllCall($ghGDIPDll, "uint", "GdipResetWorldTransform", "hwnd", $hGraphics)

    [/autoit] [autoit][/autoit] [autoit]

    For $i = 1 To $aFlakes[0][0]
    $aFlakes[$i][1] += ($aFlakes[$i][5] + $aFlakes[$i][3]) / $nFPS_Cur
    $aFlakes[$i][0] += (Sin($aFlakes[$i][1] / $iHeight * $nTau * $aFlakes[$i][6]) * $aFlakes[$i][7] + $aFlakes[$i][2]) / $nFPS_Cur
    $aFlakes[$i][2] *= $nAirFriction
    $aFlakes[$i][3] *= $nAirFriction
    If $aFlakes[$i][1] > $iHeight Or $aFlakes[$i][0] < -20 Or $aFlakes[$i][0] > $iWidth + 20 Then
    $aFlakes[$i][0] = Random(10, $iWidth - 10, 1)
    $aFlakes[$i][1] = Random(-$iHeight, 0, 1)
    $aFlakes[$i][2] = 0
    $aFlakes[$i][3] = 0
    $aFlakes[$i][4] = Random($iMinRadius, $iMaxRadius, 1)
    $aFlakes[$i][5] = Random($iMinFallingSpeed, $iMaxFallingSpeed)
    $aFlakes[$i][6] = Random($iMinOscillations, $iMaxOscillations, 1)
    $aFlakes[$i][7] = Random($iMinOscillationDist, $iMaxOscillationDist)
    EndIf
    _GDIPlus_GraphicsFillEllipse($hGraphics, $aFlakes[$i][0] - $aFlakes[$i][4] / 2, $aFlakes[$i][1] - $aFlakes[$i][4] / 2, $aFlakes[$i][4] * 2, $aFlakes[$i][4] * 2, $hBrush_Snow)
    Next
    _WinAPI_BitBlt($hDC_Window, 0, 0, $iWidth, $iHeight, $hDC_Bitmap, 0, 0, $SRCCOPY)
    WEnd

    [/autoit] [autoit][/autoit] [autoit]

    Func _UpdateTime()
    _TicksToTime(_DateDiff('s', _NowCalc(), @YEAR + 1 & "/01/01 00:00:00") * 1000, $iH, $iM, $iS)
    If $iH > 23 Then
    $iD = StringFormat("%02i", $iH / 24); volle Tage
    $iH = $iH - ($iD * 24); volle Tage abziehen
    Else
    $iD = 0
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    If $sText = "00 - 00:00:00" Then
    AdlibUnRegister("_UpdateTime")
    Feuerwerk() ; Funktion Feuerwerk soll dann ausgeführt werden
    Else
    $sText = StringFormat("%02i - %02i:%02i:%02i", $iD, $iH, $iM, $iS)
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    If $sText <> $sTextOld Then
    $sTextOld = $sText
    DllCall($ghGDIPDll, "uint", "GdipResetPath", "hwnd", $hPath)
    DllCall($ghGDIPDll, "uint", "GdipAddPathString", "hwnd", $hPath, "wstr", $sText, "int", -1, "hwnd", $hFamily, "int", 1, "float", 100, "ptr", DllStructGetPtr($tLayout), "hwnd", $hFormat)
    DllCall($ghGDIPDll, "uint", "GdipTransformPath", "hwnd", $hPath, "hwnd", $hMatrix)
    EndIf
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func _Click()
    Local $tMousePos = _WinAPI_GetMousePos(True, $hGUI)
    For $i = 1 To $aFlakes[0][0]
    $iX_Dist = ($aFlakes[$i][0] - $aFlakes[$i][4]) - DllStructGetData($tMousePos, "X")
    $iY_Dist = ($aFlakes[$i][1] - $aFlakes[$i][4]) - DllStructGetData($tMousePos, "Y")
    $iDist = Sqrt($iX_Dist ^ 2 + $iY_Dist ^ 2)
    If $iDist = 0 Then ContinueLoop
    If $iDist < $iBlastRadius Then
    $aFlakes[$i][2] = (1 - $iDist / $iBlastRadius) * ($iX_Dist / $iDist) * $iBlastAccell
    $aFlakes[$i][3] = (1 - $iDist / $iBlastRadius) * ($iY_Dist / $iDist) * $iBlastAccell
    EndIf
    Next
    EndFunc ;==>_Click

    [/autoit] [autoit][/autoit] [autoit]

    Func _Redraw()
    _WinAPI_BitBlt($hDC_Window, 0, 0, $iWidth, $iHeight, $hDC_Bitmap, 0, 0, $SRCCOPY)
    EndFunc ;==>_Redraw

    [/autoit] [autoit][/autoit] [autoit]

    Func _Close()
    _Shutdown()
    GUIDelete($hGUI)
    Exit
    EndFunc ;==>_Close

    [/autoit] [autoit][/autoit] [autoit]

    Func _Shutdown()
    _WinAPI_SelectObject($hDC_Bitmap, $hOldObj)
    _WinAPI_ReleaseDC($hGUI, $hDC_Window)
    _WinAPI_DeleteDC($hDC_Bitmap)
    _WinAPI_DeleteObject($hBitmap)

    [/autoit] [autoit][/autoit] [autoit]

    _GDIPlus_GraphicsDispose($hGraphics)
    _GDIPlus_BrushDispose($hBrush_Snow)
    _GDIPlus_PenDispose($hPen_Border)
    _GDIPlus_MatrixDispose($hMatrix)
    _GDIPlus_StringFormatDispose($hFormat)
    _GDIPlus_FontFamilyDispose($hFamily)
    DllCall($ghGDIPDll, "uint", "GdipDeletePath", "hwnd", $hPath)
    _GDIPlus_Shutdown()

    [/autoit] [autoit][/autoit] [autoit]

    DllClose($vNTdll)
    EndFunc ;==>_Shutdown

    [/autoit] [autoit][/autoit] [autoit]

    Func _CreatePath($sText)

    [/autoit] [autoit][/autoit] [autoit]

    Local $tBounds = _GDIPlus_RectFCreate(0, 0, 0, 0)

    [/autoit] [autoit][/autoit] [autoit]

    Local $aResult = DllCall($ghGDIPDll, "uint", "GdipCreatePath", "int", 0, "int*", 0)
    If @error Or Not IsArray($aResult) Then Return SetError(1, 1, False)
    Local $hPath = $aResult[2]

    [/autoit] [autoit][/autoit] [autoit]

    DllCall($ghGDIPDll, "uint", "GdipAddPathString", "hwnd", $hPath, "wstr", $sText, "int", -1, "hwnd", $hFamily, "int", 1, "float", 100, "ptr", DllStructGetPtr($tLayout), "hwnd", $hFormat)
    DllCall($ghGDIPDll, "uint", "GdipGetPathWorldBounds", "hwnd", $hPath, "ptr", DllStructGetPtr($tBounds), "hwnd", 0, "hwnd", 0)

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    _GDIPlus_MatrixTranslate($hMatrix, -DllStructGetData($tBounds, "X"), -DllStructGetData($tBounds, "Y"))
    _GDIPlus_MatrixScale($hMatrix, $iWidth / DllStructGetData($tBounds, "Width"), $iHeight / DllStructGetData($tBounds, "Height"), True)
    DllCall($ghGDIPDll, "uint", "GdipTransformPath", "hwnd", $hPath, "hwnd", $hMatrix)

    [/autoit] [autoit][/autoit] [autoit]

    Return $hPath
    EndFunc ;==>_CreatePath

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    #region FEUERWERK

    [/autoit] [autoit][/autoit] [autoit]

    Func Feuerwerk()
    Local $aDraw
    Local $iCount = 10, $iExplosion = 100, $iExplosionGround = 1, $iRadius = 600, $iBack = 0x09000000, $iSleep = 5
    Global $iWidth2 = @DesktopWidth, $iHeight2 = @DesktopHeight, $aStart[$iCount][4] = [[Random(0, $iWidth2, 0), Random(0, $iHeight2, 0), 0, _GDIPlus_PenCreate(Random(0xFF000000, 0xFFFFFFFF, 0))],[Random(0, $iWidth2, 0), Random(0, $iHeight2, 0), 0, _GDIPlus_PenCreate(Random(0xFF000000, 0xFFFFFFFF, 0))]], $iSleeping = 0
    For $i = 0 To UBound($aStart) - 1
    $aStart[$i][0] = Random(0, $iWidth2, 0)
    $aStart[$i][1] = Random(0, $iHeight2, 0)
    $aStart[$i][2] = $iExplosion
    $aStart[$i][3] = _GDIPlus_PenCreate(Random(0xFF000000, 0xFFFFFFFF, 0))
    Next

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    While True
    _GDIPlus_GraphicsClear($hGraphics, $iBack)
    If $iSleeping = 0 Then
    For $j = 0 To UBound($aStart) - 1
    For $i = 0 To 35
    $aDraw = Dreieck($i * 10, $aStart[$j][2] - $iExplosion)
    _GDIPlus_GraphicsDrawRect($hGraphics, $aStart[$j][0] + Round($aDraw[0], 0), $aStart[$j][1] + Round($aDraw[1], 0), 2, 2, $aStart[$j][3])
    Next
    $aStart[$j][2] += $iExplosionGround + Ceiling(10 * $iExplosion / ($aStart[$j][2]))
    If $aStart[$j][2] > $iRadius Then
    $iSleeping = $iSleep
    $aStart[$j][0] = Random(0, $iWidth2, 0)
    $aStart[$j][1] = Random(0, $iHeight2, 0)
    $aStart[$j][2] = $iExplosion
    _GDIPlus_PenDispose($aStart[$j][3])
    $aStart[$j][3] = _GDIPlus_PenCreate(Random(0xFF000000, 0xFFFFFFFF, 0))
    EndIf
    Next
    Else
    $iSleeping -= 1
    EndIf
    _WinAPI_RedrawWindow($hGUI, 0, 0, 2)
    WEnd
    EndFunc ;==>Feuerwerk

    [/autoit] [autoit][/autoit] [autoit]

    Func Dreieck($iWinkel, $iLaenge)
    Local $iDeg = 0.0174532925199433, $aRet[2]
    $aRet[0] = Sin($iWinkel * $iDeg) * $iLaenge
    $aRet[1] = Cos($iWinkel * $iDeg) * $iLaenge
    Return $aRet
    EndFunc ;==>Dreieck

    [/autoit] [autoit][/autoit] [autoit]

    #endregion FEUERWERK

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    ; #FUNCTION# ====================================================================================================================
    ; Name...........: _GDIPlus_GraphicsSetClipRect
    ; Description ...: Updates the clipping region of a Graphics object to a region that is the combination of itself and a rectangle
    ; Syntax.........: _GDIPlus_GraphicsSetClipRect($hGraphics, $nX, $nY, $nWidth, $nHeight[, $iCombineMode = 0])
    ; Parameters ....: $hGraphics - Pointer to a Graphics object
    ; $nX - X coordinate of the upper-left corner of the rectangle
    ; $nY - Y coordinate of the upper-left corner of the rectangle
    ; $nWidth - Width of the rectangle
    ; $nHeight - Height of the rectangle
    ; $iCombineMode - Regions combination mode:
    ; |0 - The existing region is replaced by the new region
    ; |1 - The existing region is replaced by the intersection of itself and the new region
    ; |2 - The existing region is replaced by the union of itself and the new region
    ; |3 - The existing region is replaced by the result of performing an XOR on the two regions
    ; |4 - The existing region is replaced by the portion of itself that is outside of the new region
    ; |5 - The existing region is replaced by the portion of the new region that is outside of the existing region
    ; Return values .: Success - True
    ; Failure - False and either:
    ; |@error and @extended are set if DllCall failed
    ; |$GDIP_STATUS contains a non zero value specifying the error code
    ; Remarks .......: None
    ; Related .......: None
    ; Link ..........; @@MsdnLink@@ GdipSetClipRect
    ; Example .......; No
    ; ===============================================================================================================================
    Func _GDIPlus_GraphicsSetClipRect($hGraphics, $nX, $nY, $nWidth, $nHeight, $iCombineMode = 0)
    Local $aResult = DllCall($ghGDIPDll, "uint", "GdipSetClipRect", "hwnd", $hGraphics, "float", $nX, "float", $nY, "float", $nWidth, "float", $nHeight, "int", $iCombineMode)

    [/autoit] [autoit][/autoit] [autoit]

    If @error Then Return SetError(@error, @extended, False)
    $GDIP_STATUS = $aResult[0]
    Return $aResult[0] = 0
    EndFunc ;==>_GDIPlus_GraphicsSetClipRect

    [/autoit] [autoit][/autoit] [autoit]

    #region WinAPIEx.au3 functions
    Func _WinAPI_GetParentProcess($PID = 0)
    If Not $PID Then
    $PID = _WinAPI_GetCurrentProcessID()
    If Not $PID Then Return SetError(1, 0, 0)
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    Local $hSnapshot = DllCall('kernel32.dll', 'ptr', 'CreateToolhelp32Snapshot', 'dword', 0x00000002, 'dword', 0)
    If (@error) Or (Not $hSnapshot[0]) Then Return SetError(1, 0, 0)

    [/autoit] [autoit][/autoit] [autoit]

    Local $tPROCESSENTRY32 = DllStructCreate('dword Size;dword Usage;dword ProcessID;ulong_ptr DefaultHeapID;dword ModuleID;dword Threads;dword ParentProcessID;long PriClassBase;dword Flags;wchar ExeFile[260]')
    Local $pPROCESSENTRY32 = DllStructGetPtr($tPROCESSENTRY32)
    Local $Ret, $Result = 0

    [/autoit] [autoit][/autoit] [autoit]

    $hSnapshot = $hSnapshot[0]
    DllStructSetData($tPROCESSENTRY32, 'Size', DllStructGetSize($tPROCESSENTRY32))
    $Ret = DllCall('kernel32.dll', 'int', 'Process32FirstW', 'ptr', $hSnapshot, 'ptr', $pPROCESSENTRY32)
    While (Not @error) And ($Ret[0])
    If DllStructGetData($tPROCESSENTRY32, 'ProcessID') = $PID Then
    $Result = DllStructGetData($tPROCESSENTRY32, 'ParentProcessID')
    ExitLoop
    EndIf
    $Ret = DllCall('kernel32.dll', 'int', 'Process32NextW', 'ptr', $hSnapshot, 'ptr', $pPROCESSENTRY32)
    WEnd
    _WinAPI_CloseHandle($hSnapshot)
    If Not $Result Then Return SetError(1, 0, 0)
    Return $Result
    EndFunc ;==>_WinAPI_GetParentProcess

    [/autoit] [autoit][/autoit] [autoit]

    Func _WinAPI_EnumChildProcess($PID = 0)
    If Not $PID Then
    $PID = _WinAPI_GetCurrentProcessID()
    If Not $PID Then Return SetError(1, 0, 0)
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    Local $hSnapshot = DllCall('kernel32.dll', 'ptr', 'CreateToolhelp32Snapshot', 'dword', 0x00000002, 'dword', 0)
    If (@error) Or (Not $hSnapshot[0]) Then Return SetError(1, 0, 0)

    [/autoit] [autoit][/autoit] [autoit]

    Local $tPROCESSENTRY32 = DllStructCreate('dword Size;dword Usage;dword ProcessID;ulong_ptr DefaultHeapID;dword ModuleID;dword Threads;dword ParentProcessID;long PriClassBase;dword Flags;wchar ExeFile[260]')
    Local $pPROCESSENTRY32 = DllStructGetPtr($tPROCESSENTRY32)
    Local $Ret, $Result[101][2] = [[0]]

    [/autoit] [autoit][/autoit] [autoit]

    $hSnapshot = $hSnapshot[0]
    DllStructSetData($tPROCESSENTRY32, 'Size', DllStructGetSize($tPROCESSENTRY32))
    $Ret = DllCall('kernel32.dll', 'int', 'Process32FirstW', 'ptr', $hSnapshot, 'ptr', $pPROCESSENTRY32)
    While (Not @error) And ($Ret[0])
    If DllStructGetData($tPROCESSENTRY32, 'ParentProcessID') = $PID Then
    $Result[0][0] += 1
    If $Result[0][0] > UBound($Result) - 1 Then
    ReDim $Result[$Result[0][0] + 100][2]
    EndIf
    $Result[$Result[0][0]][0] = DllStructGetData($tPROCESSENTRY32, 'ProcessID')
    $Result[$Result[0][0]][1] = DllStructGetData($tPROCESSENTRY32, 'ExeFile')
    EndIf
    $Ret = DllCall('kernel32.dll', 'int', 'Process32NextW', 'ptr', $hSnapshot, 'ptr', $pPROCESSENTRY32)
    WEnd
    _WinAPI_CloseHandle($hSnapshot)
    If $Result[0][0] Then
    ReDim $Result[$Result[0][0] + 1][2]
    Else
    Return SetError(1, 0, 0)
    EndIf
    Return $Result
    EndFunc ;==>_WinAPI_EnumChildProcess
    #endregion
    #endregion BILDSCHIRMSCHOHNER

    [/autoit]

    Hier noch ein Link: Beispiel für einen Bildschirmschoner

    Gruß,
    UEZ

  • GDI+ DrawImageRectRect Zu viele Pixel

    • UEZ
    • 10. Dezember 2012 um 22:25

    Probiere mal dies aus:

    [autoit]


    #include <GDIPlus.au3>

    [/autoit][autoit][/autoit][autoit]

    _GDIPlus_Startup()

    [/autoit][autoit][/autoit][autoit]

    $hBitmap_Map = _GDIPlus_BitmapCreateFromFile(@ScriptDir & "\FFIOriginsMap9.png")
    $iW = 20
    $iH = 20
    $hBitmap_area = _GDIPlus_BitmapCloneArea($hBitmap_Map, 0, 0, 16, 16)
    $hBitmap_20x20 = DllCall($ghGDIPDll, "uint", "GdipCreateBitmapFromScan0", "int", $iW, "int", $iH, "int", 0, "int", 0x0026200A, "ptr", 0, "int*", 0)
    $hBitmap_20x20 = $hBitmap_20x20[6]
    $hCtxt = _GDIPlus_ImageGetGraphicsContext($hBitmap_20x20)
    _GDIPlus_GraphicsDrawImageRect($hCtxt, $hBitmap_area, 0, 0, $iW, $iH)
    _GDIPlus_ImageSaveToFile($hBitmap_20x20, @ScriptDir & "\New_20x20.bmp")
    _GDIPlus_GraphicsDispose($hCtxt)
    _GDIPlus_BitmapDispose($hBitmap_20x20)
    _GDIPlus_BitmapDispose($hBitmap_Map)
    _GDIPlus_BitmapDispose($hBitmap_area)

    [/autoit][autoit][/autoit][autoit]

    _GDIPlus_Shutdown()
    ShellExecute(@ScriptDir & "\New_20x20.bmp")
    Exit

    [/autoit]

    Habe die Beispiele oben noch nicht angesehen!

    Gruß,
    UEZ

  • OpenCl goes AutoIt Update 31.Dezember 2016

    • UEZ
    • 9. Dezember 2012 um 15:13

    Bitte auch die Überschrift ändern. ;)

    Gruß,
    UEZ

  • Alles gute Sprenger!

    • UEZ
    • 9. Dezember 2012 um 13:51

    Happy Birthday und alles Gute!

    Gruß,
    UEZ

  • Pee wird 24 und Funkey 32

    • UEZ
    • 4. Dezember 2012 um 09:08

    Ich schließe mich meinen Vorredner an und wünsche euch beiden alles Gute, viel Gesundheit und viel Erfolg in eurem Leben.

    Gruß,
    UEZ

  • GDI+ Spielerei - Feuerwerk

    • UEZ
    • 30. November 2012 um 20:08

    Sieht echt cooooooll aus! 8o

    Freue mich auf weitere kreative Werke von dir :D

    Gruß,
    UEZ

  • BugFix hat Geburtstag.

    • UEZ
    • 28. November 2012 um 21:20

    Dann von mir auch ein Happy Birthday und alles Gute!

    Feier schön im Hotel mit dir selbst! :party:

    Gruß,
    UEZ

  • AutoIt Watermark Image v0.89 beta build 2014-08-25

    • UEZ
    • 26. November 2012 um 17:09

    Stimmt! Danke für den Hinweis!

    Werde ich fixen!

    Gruß,
    UEZ

  • AutoIt Watermark Image v0.89 beta build 2014-08-25

    • UEZ
    • 26. November 2012 um 16:59

    Welche Version benutzt du?

    Btw, in der aktuellen Version schmiert das Programm unter WinXP ab, wenn man ein weiteres Bild lädt! Versuche gerade herauszufinden, warum das so ist!


    Gruß,
    UEZ

  • AutoIt Watermark Image v0.89 beta build 2014-08-25

    • UEZ
    • 26. November 2012 um 15:56

    Update auf v0.77.

    Gruß,
    UEZ

  • Alles gute Raupi

    • UEZ
    • 26. November 2012 um 13:34

    Herzlichen Glückwunsch SB Keule und alles Gute!

    Gruß,
    UEZ

  • AutoIt Watermark Image v0.89 beta build 2014-08-25

    • UEZ
    • 21. November 2012 um 20:31

    Ich habe die Historie in Beitrag 1 hinzugefügt. Bald wird v1.70 veröffentlicht...

    Gruß,
    UEZ

  • Objekte über ScriptControl (VBS) anlegen und verwenden

    • UEZ
    • 21. November 2012 um 15:13

    Sehr interessanter Ansatz. Danke für die Info!

    Gruß,
    UEZ

  • AutoIt Screensaver als SCR File speichern

    • UEZ
    • 20. November 2012 um 10:07

    Willst du auch den Screensaver über die Systemsteuerung einstellen können inkl. dem kleinen Vorschaufenster, musst du ein wenig mehr coden.


    Schaue mal hier nach: http://www.autoitscript.com/forum/index.php?showtopic=87200 (GDI+ 3D Star Scrolling Screensaver.au3).


    AutoBert hat ja im Prinzip alles bereits geschrieben...

    Gruß,
    UEZ

  • Happy Birthday Techmix!

    • UEZ
    • 18. November 2012 um 21:00

    Ein von mir ein "Happy Birthday" und alles Gute!

    Gruß,
    UEZ

  • Active Directory Tools

    • UEZ
    • 16. November 2012 um 14:28

    Die Tools sind nicht dafür angelegt, diese Attribute zu setzen, aber ich freue mich immer über Feedback! ;)

    Ansonsten gebe ich water recht, dass dieser Topic falsch für AD Support Fragen ist.

    Gruß,
    UEZ

  • AutoIt Watermark Image v0.89 beta build 2014-08-25

    • UEZ
    • 16. November 2012 um 14:23

    Mit "AutoIt Watermark Image" könnt ihr eure Bilder mit einem Wasserzeichen, als Text und/oder Bild, versehen.

    Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist.

    Source Code: Pastebin.com

    Einige Features werde ich noch implementieren.

    CMD Funktionalität ist nicht vollständig getestet!

    Spoiler anzeigen
    Code
    Mandatory:
    -text "Any Text" | -bitmap <path to an image used for stamp>
    -in <path to an image whichh should watermarked>
    -out <save image name>
    
    
    Optional:
    -font <font name from the dropdown list. Default is Arial>
    -size <font size. If 0 then it will be calculated automatically>>
    -color <color of the font. Default is 0xFF0000>
    -fx <one of the text fx -> default, outline or embossed. Default is Default>
    -fxtype <one of the modes -> Text, Circular or Stamp. Default is Text>
    -opaque <level of opaque (1-255). Default is 92>
    -pos <fixed position (1-9). Default is 9>
    -posx <manual x position. Default is 0>
    -posy <manual y position. Default is 0>
    -angle <in text/ circular mode the angle of the text (-180 - 180) or in stamp mode resize factor)
    -circrad <radius of the circular text. If 0 then it will be calculated automatically>
    -fill <fill stamp image -> 0 or 1. Default is 0)
    -format <jpg|png|gif|bmp|tif -> jpg is default>
    -jpgqual <jpg save quality (0-100). Default is 90)
    -loadfont <path to a ttf font file>
    -tpbgcolor <background color for transparent images>
    -silent <show or supress messages in cmd mode (0 | 1). If 1 then file will be overwritten automatically!>
    Alles anzeigen

    Viel Spaß!

    Gruß,
    UEZ


    Historie:

    Spoiler anzeigen


    v0.50 beta build 2012-11-16: erste Veröffentlichung
    v0.55 beta build 2012-11-16: Fehler bei der Repaint Funktion behoben und Drag 'n Drop Funktion hinzugefügt
    v0.60 beta build 2012-11-17: Funktion zum Verändern der Bildgröße hinzugefügt (More Knopf -> Resize)
    v0.75 beta build 2012-11-23: Text Rotationscode verbessert; Text Stanz Effekt, Slider zum manuellen Positionieren des Textes / Bildes, Füllen des "Stamp" Bildes und CMD Funktionalität hinzugefügt
    v0.77 beta build 2012-11-26: einige kleinere Fehler behoben, installierte System Fonts werden jetzt in der Combo Box angezeigt, zusätzlich Option, um ein TrueType Font zu laden und zu benutzen und Undo Funktionalität hinzugefügt
    v0.77 beta build 2012-11-27: Memory Leak behoben und WinXP Absturz nach dem 2. Laden eines Bildes behoben
    v0.80 beta build 2012-11-28: Fehler in der Undo Funktion behoben (Hard Crash) und Funktion zum Verschieben des Textes mit der Maus hinzugefügt
    v0.84 beta build 2012-12-08: einige kleine Fehler behoben, Systemmenü hinzugefügt (Check for Updates, Visit Homepage, About), Hintergrund Farbe für transparente Bilder kann jetzt gesetzt werden, die Größe des Hauptfensters kann jetzt verändert werden (beta!), in CMD Modus kann jetzt ein Ordner angegeben werden, so dass alle Bilder umgewandelt werden
    v0.85 beta build 2012-12-12: einige kleinere Fehler behoben und Rotation mit der rechten Maustaste hinzugefügt
    v0.87 beta build 2013-01-10: weitere kleinere Fehler behoben, Outlined Filled Text Effekt hinzugefügt und GUI Resize Funktionalität deaktiviert (wird wieder aktiviert, wenn die Resize Funktion gescheit läuft)
    v0.88 beta build 2013-05-24: einige Bugs behoben
    v0.89 beta build 2014-08-25: Code an AutoIt v3.3.12.0 angepasst, mehrere interne Modifikationen, Wasser Wellen Effekt hinzugefügt, wenn die Maus über das Bild läuft

    Dateien

    AutoIt Watermark Image v0.89 beta build 2014-08-25.7z 117,46 kB – 395 Downloads Watermark.jpg 31,85 kB – 0 Downloads

Spenden

Jeder Euro hilft uns, Euch zu helfen.

Download

AutoIt Tutorial
AutoIt Buch
Onlinehilfe
AutoIt Entwickler
  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™