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

  • Eigener GDIPlus Button Style

    • UEZ
    • 20. Dezember 2013 um 21:01

    Die aktuelle Beta beinhaltet eine Menge der GDIPlus Funktionen aus der GDIP.au3.


    Gruß,
    UEZ

  • Skalieren von Bildern ohne Verzerrung

    • UEZ
    • 20. Dezember 2013 um 17:20

    Z.B. hier: http://www.autoitscript.com/forum/files/fi…it-v33925-beta/


    Gruß,
    UEZ

  • Skalieren von Bildern ohne Verzerrung

    • UEZ
    • 20. Dezember 2013 um 17:13

    Kannst dazu die Beta benutzen -> _GDIPlus_ImageResize() und als $iInterpolationMode Parameter $GDIP_INTERPOLATIONMODE_NEARESTNEIGHBOR verwenden.

    $GDIP_INTERPOLATIONMODE_NEARESTNEIGHBOR = 5

    Gruß,
    UEZ

  • Icon aus Datei extrahieren?

    • UEZ
    • 18. Dezember 2013 um 12:10

    War eher als Alternative gedacht... ;)

    Gruß,
    UEZ

  • Icon aus Datei extrahieren?

    • UEZ
    • 18. Dezember 2013 um 09:36

    Wenn du das Icon als Bitmap benötigst, kannst du z.B.

    [autoit]

    $hIcon = _WinAPI_ShellExtractIcon(@SystemDir & '\shell32.dll', 32, 48, 48)

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

    $hBitmap = _GDIPlus_BitmapCreateFromHICON32($hIcon)

    [/autoit]


    benutzen.

    Benötigt die aktuelle Beta.

    Gruß,
    UEZ

  • LED - Laufschrift

    • UEZ
    • 15. Dezember 2013 um 15:05

    In Zeile 68 einfach eine 8 in die Hex-Anweisung mitgeben ->

    [autoit]

    If Hex(DllStructGetData($PixelData, 1), 8) = $Color Then

    [/autoit]

    Dann sollte es funzen. In diesem Beitrag weiter unten gibt es die LEDTXT.au3...

    Gruß,
    UEZ

  • FASM UDF (X86 u X64)

    • UEZ
    • 5. Dezember 2013 um 22:15

    Andy: _GDIPlus_BitmapCreateFromScan0() hatte ich geändert, da $iStride und $pScan0 eher selten genutzt werden und somit am Ende besser aufgehoben sind. Am besten die neuste Beta benutzen. ;)

    Btw,
    ich würde gerne eine Bitmap mit zufälligen Grauwerten immer wieder füllen lassen, aber ich scheitere gerade an der Random Funktion.

    Keine Ahnung, was noch zur Hürde wird.

    Mein Ansatz war dieser:

    Code
    #  Rand:
    #        mov     eax,[X0]
    #        mov     edx,69069
    #        mul     edx
    #        inc     eax
    #        mov     [X0],eax
    #        ret
    
    
    #X0: db 1


    aber dann schmiert das Skript ab.

    Gruß,
    UEZ

  • FASM UDF (X86 u X64)

    • UEZ
    • 5. Dezember 2013 um 21:06
    Zitat von eukalyptus


    Und dann experimentier mal mit DEINER Materie - GdiPlus ;)

    lgE

    Mit UNSERER Materie bitte! :D

    Ich werde mich daran versuchen...

    Hier auch blau zu weiß ASM Code (war nicht so schwer):

    Code
    #ASM _ASM_Red2White
    #    use32
    #    mov esi, [esp+4]
    #    mov ecx, [esp+8]
    
    
    #    _Loop:
    #       mov eax, [esi]
    #       _FASM_DBG("_Debug_1")
    
    
    #       cmp eax, 0xFFFF0000
    #       je _Red2White
    #       cmp eax, 0xFF0000FF
    #		je _Blue2White
    #		jmp _NotEqual
    
    
    #	_Red2White:
    #   	mov dword[esi], 0xFFFFFFFF
    #       _FASM_DBG("_Debug_2")
    #		jmp _NotEqual
    
    
    #	_Blue2White:
    #       mov dword[esi], 0xFFFFFFFF
    #       _FASM_DBG("_Debug_2")
    
    
    #	_NotEqual:
    
    
    #       add esi, 4
    #       sub ecx, 1
    #       jg _Loop
    
    
    #	ret 8
    #ASMEND
    Alles anzeigen

    Danke und Gruß,
    UEZ

  • FASM UDF (X86 u X64)

    • UEZ
    • 5. Dezember 2013 um 13:24

    Klasse Umsetzung! 8o:thumbup:

    Ich glaube, dass ich doch endlich ASM lernen sollte, damit ich die feinen ASM Sachen hier aus dem Forum anwenden kann.

    Habe bereits mit minx' ASM Tutorial angefangen, aber hat sich wieder im Sande verlaufen... :(

    Vielleicht könnte man ein paar Beispiele mit ASM strukturiert aufsetzen und die Hürde AMS zu lernen dadurch herabsetzen. Ich denke da an ein separates Thema mit "How to Code in ASM", wo dann Beispiele gepostet werden. gibt's ja schon :whistling: -> https://autoit.de/index.php?page=Thread&postID=181436 (Danke an TheShadowAE für den Hinweis)!

    Gruß,
    UEZ

  • Happy Birthday Pee und funkey

    • UEZ
    • 4. Dezember 2013 um 10:53

    Herzlichen Glückwunsch zum Geburtstag und alles Gute!

    [Blockierte Grafik: http://www.hotel-luganodante.com/uploads/happyBirthday_mypage.jpg]


    Gruß,
    UEZ

  • kurze frage :)

    • UEZ
    • 3. Dezember 2013 um 09:57

    Kurze Antwort: probiere es mal damit:

    [autoit]


    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>

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

    $hGUI = GUICreate("Form1", 279, 40, -1, -1)
    $Input1 = GUICtrlCreateInput("", 8, 8, 33, 21, $ES_NUMBER)
    $Input2 = GUICtrlCreateInput("", 55, 8, 33, 21, $ES_NUMBER)
    $Input3 = GUICtrlCreateInput("", 103, 8, 33, 21, $ES_NUMBER)
    $Input4 = GUICtrlCreateInput("", 146, 8, 33, 21, $ES_NUMBER)
    $x = GUICtrlCreateLabel("-", 45, 9, 7, 17)
    $Label2 = GUICtrlCreateLabel("-", 139, 9, 9, 17)
    $Label3 = GUICtrlCreateLabel("-", 92, 9, 9, 17)
    $Zahl = GUICtrlCreateButton("Zahl", 192, 8, 75, 25)
    GUISetState(@SW_SHOW)
    ControlFocus($hGUI, "", $Zahl)

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

    While 1
    Switch GUIGetMsg()
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Zahl
    MsgBox(0, "Zufallszahl", GUICtrlRead($Input1) & "-" & GUICtrlRead($Input2) & "-" & GUICtrlRead($Input3) & "-" & GUICtrlRead($Input4))
    EndSwitch
    $aMousePos = GUIGetCursorInfo($hGUI)
    Switch $aMousePos[4]
    Case $Input1
    GUICtrlSetData($Input1, StringFormat("%04d", Random(0, 9999, 1)))
    Case $Input2
    GUICtrlSetData($Input2, StringFormat("%04d", Random(0, 9999, 1)))
    Case $Input3
    GUICtrlSetData($Input3, StringFormat("%04d", Random(0, 9999, 1)))
    Case $Input4
    GUICtrlSetData($Input4, StringFormat("%04d", Random(0, 9999, 1)))
    EndSwitch
    WEnd

    [/autoit]

    Einfach mit der Maus über die Input Felder gehen...

    Gruß,
    UEZ

  • Grafik Schneefall

    • UEZ
    • 29. November 2013 um 09:58

    Hier ein Link, falls du die Sache "mathematisch" angehen möchtest: Flake: Echtzeit-Simulation von Windfeldern mit OpenCL zur Modellierung von Schneefall (PDF-Version der Arbeit -> Vorgeschmack auf ein Informatikstudium ;))

    Gruß,
    UEZ

  • Happy Burtstag Der_Doc und BugFix

    • UEZ
    • 28. November 2013 um 13:21

    [Blockierte Grafik: http://www.powerstriker-ostfriesland.de/inc/tinymce_files/geburttstag/geburtstag1.jpg]

    Gruß,
    UEZ

  • Rechnen...

    • UEZ
    • 27. November 2013 um 22:16

    Probiere es mal damit:

    [autoit]


    #include <Date.au3>
    $Qstart=1
    $yStart=2011
    $QEnde=1
    $YEnde=2013

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

    ConsoleWrite(_DateDiff("M", $yStart & "/" & $Qstart * 3 & "/01", $YEnde & "/" & 3 * $QEnde & "/01") / 3 + 1 & @LF)

    [/autoit]

    Gruß,
    UEZ

  • Happy Birthday Raupi

    • UEZ
    • 26. November 2013 um 09:21

    Herzlichen Glückwunsch zum Geburtstag und alles Gute lieber Raupi.


    Feier schön "alter Sack".  :party:


    Gruß,
    UEZ

  • UEZ hat seinen 5. Foren Geburtstag.

    • UEZ
    • 25. November 2013 um 22:44

    Vielen Dank für die Glückwünsche!

    Heute genau vor 5 Jahren, und sogar auf die Minute genau, habe mich hier registriert und eine Menge Dinge über AutoIt und das Programmieren gelernt und nette Leute kennen gelernt, auch persönlich.

    Ich hoffte, dass ich noch weiter hier aktiv sein kann und meinen Beitrag leisten kann.

    Prost auf die nächsten 5 Jahre! :party:

    Gruß,
    UEZ

  • Kleinster HD-Kurzfilm

    • UEZ
    • 24. November 2013 um 17:53

    Aus dem engl. Forum hat jemand gefragt, ob man in AutoIt einen Marker mit Text erstellen kann, der so ähnlich aussieht, wie in diesem Bild: http://www.google.com/mapfiles/markerA.png

    Deshalb die Frage, wie man solch einen "Tropfen" erstellen kann.

    Ich habe mir das Leben etwas einfacher gemacht und es "nur" ähnlich gehalten, da mir nichts besseres eingefallen ist.

    Danke Andy für die mathematische Lösung. 8o

    Hier die Lösung, ohne viel Mathe (benötigt die aktuelle Beta:(

    Spoiler anzeigen
    [autoit]


    ;coded by UEZ build 2013-11-24
    #AutoIt3Wrapper_Version=b
    #include <GDIPlus.au3>
    #include <GUIConstantsEx.au3>

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

    _GDIPlus_Startup()
    Global $hGUI = GUICreate("GDI+ Example", 340, 400)
    GUISetState()
    Global Const $hGfx = _GDIPlus_GraphicsCreateFromHWND($hGUI)

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

    Global $hBitmap = _GDIPlus_CreateMarkerWithText("AutoIt" & @LF &"rulez")
    ;~ Global $hBitmap = _GDIPlus_CreateMarkerWithText("A")
    _GDIPlus_GraphicsDrawImage($hGfx, $hBitmap, 0, 5)

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

    Do
    Switch GUIGetMsg()
    Case $GUI_EVENT_CLOSE
    _GDIPlus_GraphicsDispose($hGfx)
    _GDIPlus_BitmapDispose($hBitmap)
    _GDIPlus_Shutdown()
    GUIDelete()
    Exit
    EndSwitch
    Until False

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

    Func _GDIPlus_CreateMarkerWithText($sText, $sFont = "Comic Sans MS", $iFSize = 15.5, $iFColor = 0xFF1F0F0F,$iColorBorder = 0xFF1F0F0F, $iColorFill = 0xFFFF766A) ;beta
    Local Const $hFormat = _GDIPlus_StringFormatCreate()
    Local Const $hFamily = _GDIPlus_FontFamilyCreate($sFont)
    Local Const $hFont = _GDIPlus_FontCreate($hFamily, $iFSize)
    _GDIPlus_StringFormatSetAlign($hFormat, 1)
    Local $tLayout = _GDIPlus_RectFCreate(0, 0, 0, 0)
    Local Const $hGfx_tmp = _GDIPlus_GraphicsCreateFromHDC(_WinAPI_GetWindowDC(0))
    Local $aInfo = _GDIPlus_GraphicsMeasureString($hGfx_tmp, $sText, $hFont, $tLayout, $hFormat)
    _GDIPlus_GraphicsDispose($hGfx_tmp)
    Local $iW = $aInfo[0].Width, $iH = $aInfo[0].Height, $iHF = 3
    If $iW < 9 Then $iW = 9
    Local Const $hBitmap = _GDIPlus_BitmapCreateFromScan0($iW * 2, $iH * $iHF)
    Local Const $hGfxCtxt = _GDIPlus_ImageGetGraphicsContext($hBitmap)
    _GDIPlus_GraphicsSetSmoothingMode($hGfxCtxt, $GDIP_SMOOTHINGMODE_HIGHQUALITY)
    _GDIPlus_GraphicsSetTextRenderingHint($hGfxCtxt, $GDIP_TEXTRENDERINGHINT_ANTIALIASGRIDFIT)
    Local Const $hBrushBgColor = _GDIPlus_BrushCreateSolid($iColorFill)
    Local Const $hBrushFontColor = _GDIPlus_BrushCreateSolid($iFColor)
    Local Const $hPen = _GDIPlus_PenCreate($iColorBorder, 2)
    Local Const $hPath = _GDIPlus_PathCreate()
    _GDIPlus_PathAddPie($hPath, $iW / 4, 0, $iW * 1.5 - 2, $iH * 2, 150, 240)
    Local $aCoords = _GDIPlus_PathGetPoints($hPath)
    Local $aPoints[4][2] = [[3]]
    $aPoints[1][0] = $aCoords[2][0]
    $aPoints[1][1] = $aCoords[2][1]
    $aPoints[2][0] = $iW
    $aPoints[2][1] = $iH * $iHF - 7
    $aPoints[3][0] = $aCoords[UBound($aCoords) - 1][0]
    $aPoints[3][1] = $aCoords[UBound($aCoords) - 1][1]
    _GDIPlus_PathAddCurve2($hPath, $aPoints, 0.25)

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

    _GDIPlus_GraphicsDrawPath($hGfxCtxt, $hPath, $hPen)
    _GDIPlus_GraphicsFillPath($hGfxCtxt, $hPath, $hBrushBgColor)
    _GDIPlus_GraphicsFillEllipse($hGfxCtxt, $iW / 4 + 1, 1, 2 * $iW * 0.75 - $iHF - 1, $iH * ($iHF - 1), $hBrushBgColor)

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

    _GDIPlus_PathReset($hPath)
    $tLayout.X = $iW - 1
    $tLayout.Y = $iH * 0.25
    _GDIPlus_PathAddString($hPath, $sText, $tLayout, $hFamily, 0, $iFSize + 4, $hFormat)
    _GDIPlus_GraphicsFillPath($hGfxCtxt, $hPath, $hBrushFontColor)

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

    _GDIPlus_PenDispose($hPen)
    _GDIPlus_BrushDispose($hBrushBgColor)
    _GDIPlus_BrushDispose($hBrushFontColor)
    _GDIPlus_PathDispose($hPath)
    _GDIPlus_FontDispose($hFont)
    _GDIPlus_FontFamilyDispose($hFamily)
    _GDIPlus_StringFormatDispose($hFormat)
    _GDIPlus_GraphicsDispose($hGfxCtxt)
    Return $hBitmap
    EndFunc

    [/autoit]

    Gruß,
    UEZ

  • Bildschirm aufnehmen

    • UEZ
    • 23. November 2013 um 20:44

    Der Screenshooter erstellt vom Bereich eine Bitmap und schickt die Bitmap zum Encoder und das n mal die Sekunde.
    Was der Encoder mit den Bitmap sukzessive genau macht, weiß ich nicht.

    Gruß,
    UEZ

  • Glücksrad! via GDI+?

    • UEZ
    • 23. November 2013 um 20:39

    Ich habe einige Kommentare hinzugefügt:

    [autoit]


    Func Btn_Drehen()
    $f = Random(5, 15) ;zufälligen Drehwinkel in Grad erstellen
    Do
    If $f > 0 Then
    Drehen($f) ;drehe Scheibe um $f Grad
    $ff += $f ;addiere Drehwinkel zur Drehwinkel Summe ($ff)
    $f -= 0.1 ;reduziere Drehwinkel um 1/10 Grad pro Schleifendurchgang
    Else
    $iRunden = Floor($ff / 360) ;messe Anzahl der Runden
    $iSegment = Mod($iRunden + Ceiling($ff / 15), 25) ;bestimme Segment -> 24 Segmente zu je 15°
    If Not $iSegment Then $iSegment += 1 ;korrigiere, wenn Segment Kalulation = 0 ist
    If Mod($ff, 15) > 14.45 Or Mod($ff, 15) < 0.55 Then $iSegment = 0 ;finde "Kippe"
    GUICtrlSetData($iLbl_Preis, $aFelder[$iSegment]) ;zeige "Gewinn"
    ExitLoop
    EndIf
    Until False * Sleep(30)
    EndFunc

    [/autoit]

    Ich hoffe, dass es jetzt "klarer" wird.

    Gruß,
    UEZ

  • Bildschirm aufnehmen

    • UEZ
    • 23. November 2013 um 17:53

    Andy: in AutoIt Windows Screenshooter wird der Avi Film On-the-fly erstellt, ohne vorher die einzelnen Frames zu speichern. Ferner kannst du theoretisch solange dein Desktop oder einen Bereich daraus aufnehmen, bis die Platte voll ist (habe ich aber nicht getestet).

    Gruß,
    UEZ

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™