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. name22

Beiträge von name22

  • Wie komplexe GUI erzeugen?

    • name22
    • 16. Mai 2011 um 21:02
    Zitat

    Also _GDIPlus_BitmapCreateFromHBITMAP und _GDIPLus_GraphicsDrawImageRect sehen ja schon mal gut aus. Aber ich hab bisher nichts gefunden, so ein extrahiertes Bitmap "aufzuhellen".


    GDIPlus unterstützt ein ARGB Farbsystem. Das heißt, du kannst dank dem Alpha Channel z.B. einen leicht transparenten Brush (_GDIPlus_BrushCreateSolid) eerzeugen und über die gewünschte Stelle legen.

  • .tif Dateien um 180 Grad drehen

    • name22
    • 16. Mai 2011 um 20:45
    Zitat

    Mich würde jetzt interessieren ob bei Matrix Rotate nur OPTISCH dir Graphic gedreht wird oder wirklich das Bild darauf, also ob man das Bild dann 180° gedreht speichern kann.


    Wenn du die Transformation auf den GraphicsContext einer Bitmap anwendest geht das. Ansonsten könntest du das Bild auch gar nicht speichern ;).

  • Wie komplexe GUI erzeugen?

    • name22
    • 16. Mai 2011 um 19:14
    Zitat

    Ok verstanden. Jetzt nochmal zu dem "kleineren Bild": Gibt es da irgendwelche Algorithmen, um den original Bereich herauszuholen, denn irgendwie mathematisch aufzuhellen, den dann auf den original Bereich darüber zu legen, damit man deutlich sieht, dass die Maus in diesem Bereich ist und dass dieser gewisse Button gemeint ist?


    Ja. Nicht direkt Algorithmen, sondern eher fertige Funktionen, aber das kommt ja auf das selbe raus. ;)

  • .tif Dateien um 180 Grad drehen

    • name22
    • 16. Mai 2011 um 17:28

    Schau dir das Beispiel in der Hilfe zu der Funktion

    [autoit]

    _GDIPlus_ImageSaveToFileEx

    [/autoit]

    an, da kannst du mit _GDIPlus_ParamAdd erstellte Parameter anhängen. Im Biespiel wird sogar das Bild um 90° gedreht. Das ist der lürzeste und einfachste Weg ein Bild mit GDI+ zu drehen. ;)

  • Computer sprechen lassen mit Autoit

    • name22
    • 16. Mai 2011 um 17:24

    franzp Ich hab das Gefühl meine Beiträge werden ignoriert... Genau das gleiche stand auch in dem von mir verlinkten Thread, nur detaillierter.

  • Computer sprechen lassen mit Autoit

    • name22
    • 15. Mai 2011 um 22:08

    Die Beiträge durchlesen solltest du vielleicht auch... :cursing:
    https://autoit.de/index.php?page…3753#post213753

  • Computer sprechen lassen mit Autoit

    • name22
    • 15. Mai 2011 um 21:36

    Wie wäre es, wenn du zur Abwechslung mal die Forensuche verwendest?
    https://autoit.de/index.php?page…gabe#post213753
    Diesen Link zu finden hat ca. 20 Sekunden gedauert...

  • Bakku ist 16

    • name22
    • 15. Mai 2011 um 15:15

    Herzlichen Glückwunsch zum 16ten Bakku! :thumbup:
    Mann Mattthias... Erst Jonathan und jetzt du, der Glühstrumpf war doch meine Idee ;(:D .

  • Tooltip

    • name22
    • 15. Mai 2011 um 14:48

    Oder du verwendest einfach

    [autoit]

    GUICtrlSetCursor

    [/autoit]

    .

  • komplexer Synthesizer (Bass.dll)

    • name22
    • 15. Mai 2011 um 13:54

    Du haust hier ein geiles Script nach dem anderen raus 8| .
    Ich bin wirklich sehr beeindruckt. Das einzige, was mir nicht gefällt ist die Steuerung der Drehknöpfe ^^.
    Ich hätte es eher so gemacht:

    Spoiler anzeigen
    [autoit]

    #include <GDIPlus.au3>
    #include <GUIConstants.au3>
    #include <Misc.au3>

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

    Opt("GUIOnEventMode", 1)

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

    Global Const $Pi_Div_180 = ACos(-1) / 180
    $vU32Dll = DllOpen("User32.dll")

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

    $iGUIColorBG = 0xFFFFFFFF
    $iGUIWidth = 400
    $iGUIHeight = 400
    $FPS = 40

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

    $iRadiusButton = 60
    $iRadiusPoint = 40

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

    $vButton_Middle = _Vector_Create(200, 200)
    $vButton_Point = _Vector_Create(200, 160)

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

    $vNegativeYAxis = _Vector_Create(0, -1)
    $iAngle = 0

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

    $hWnd = GUICreate("Test", $iGUIWidth, $iGUIHeight)
    GUISetState()

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

    _GDIPlus_Startup()

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

    $hGraphic = _GDIPlus_GraphicsCreateFromHWND($hWnd)
    $hBitmap = _GDIPlus_BitmapCreateFromGraphics($iGUIWidth, $iGUIHeight, $hGraphic)
    $hBuffer = _GDIPlus_ImageGetGraphicsContext($hBitmap)
    _GDIPlus_GraphicsSetSmoothingMode($hBuffer, 2)

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

    $hFormat_Text = _GDIPlus_StringFormatCreate()
    $hFamily_Text = _GDIPlus_FontFamilyCreate("Arial")
    $hFont_Text = _GDIPlus_FontCreate($hFamily_Text, 15)

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

    $hPen_Button = _GDIPlus_PenCreate(0xFF000000, 2)
    $hBrush_Point = _GDIPlus_BrushCreateSolid(0xFF000000)
    $hBrush_Text = _GDIPlus_BrushCreateSolid(0xFF0000FF)

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

    GUISetOnEvent($GUI_EVENT_CLOSE, "_Exit")
    AdlibRegister("_DrawFrame", Round(1000 / $FPS))

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

    $bMouseClick = False

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

    While Sleep(1000)
    WEnd

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

    Func _DrawFrame()
    If _IsPressed("01", $vU32Dll) Then
    $aCursorInfo = GUIGetCursorInfo($hWnd)
    If $bMouseClick Or _PointIsInCircle($aCursorInfo[0], $aCursorInfo[1], DllStructGetData($vButton_Middle, "X"), DllStructGetData($vButton_Middle, "Y"), $iRadiusButton) Then
    $vDirection = _Vector_Normalize(_Vector_Create($aCursorInfo[0] - DllStructGetData($vButton_Middle, "X"), $aCursorInfo[1] - DllStructGetData($vButton_Middle, "Y")))

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

    DllStructSetData($vButton_Point, "X", DllStructGetData($vButton_Middle, "X") + DllStructGetData($vDirection, "X") * $iRadiusPoint)
    DllStructSetData($vButton_Point, "Y", DllStructGetData($vButton_Middle, "Y") + DllStructGetData($vDirection, "Y") * $iRadiusPoint)

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

    $iAngle = _Vector_GetAngle($vDirection, $vNegativeYAxis)
    If DllStructGetData($vDirection, "X") < 0 Then $iAngle = 360 - $iAngle

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

    $bMouseClick = True
    EndIf
    Else
    If $bMouseClick Then $bMouseClick = False
    EndIf

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

    $aLayout_Text = _GDIPlus_GraphicsMeasureString($hBuffer, Round($iAngle, 2), $hFont_Text, _GDIPlus_RectFCreate(0, 270), $hFormat_Text)
    DllStructSetData($aLayout_Text[0], "X", 200 - DllStructGetData($aLayout_Text[0], "Width") / 2)

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

    _GDIPlus_GraphicsClear($hBuffer, $iGUIColorBG)
    _GDIPlus_GraphicsDrawStringEx($hBuffer, Round($iAngle, 2), $hFont_Text, $aLayout_Text[0], $hFormat_Text, $hBrush_Text)
    _GDIPlus_GraphicsDrawEllipse($hBuffer, DllStructGetData($vButton_Middle, "X") - $iRadiusButton, DllStructGetData($vButton_Middle, "Y") - $iRadiusButton, $iRadiusButton * 2, $iRadiusButton * 2, $hPen_Button)
    _GDIPlus_GraphicsFillEllipse($hBuffer, DllStructGetData($vButton_Point, "X") - 3, DllStructGetData($vButton_Point, "Y") - 3, 6, 6, $hBrush_Point)
    _GDIPlus_GraphicsDrawImageRect($hGraphic, $hBitmap, 0, 0, $iGUIWidth, $iGUIHeight)
    EndFunc ;==>_DrawFrame

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

    Func _Exit()
    _GDIPlus_GraphicsDispose($hGraphic)
    _GDIPlus_GraphicsDispose($hBuffer)
    _GDIPlus_BitmapDispose($hBitmap)
    _GDIPlus_PenDispose($hPen_Button)
    _GDIPlus_BrushDispose($hBrush_Point)
    _GDIPlus_BrushDispose($hBrush_Text)
    _GDIPlus_StringFormatDispose($hFormat_Text)
    _GDIPlus_FontFamilyDispose($hFamily_Text)
    _GDIPlus_FontDispose($hFont_Text)
    _GDIPlus_Shutdown()
    DllClose($vU32Dll)
    Exit
    EndFunc ;==>_Exit

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

    Func _Vector_GetAngle($vVector1, $vVector2)
    $nScalarProduct = DllStructGetData($vVector1, "X") * DllStructGetData($vVector2, "X") + DllStructGetData($vVector1, "Y") * DllStructGetData($vVector2, "Y")
    $nVector1_Length = Sqrt(DllStructGetData($vVector1, "X") ^ 2 + DllStructGetData($vVector1, "Y") ^ 2)
    $nVector2_Length = Sqrt(DllStructGetData($vVector2, "X") ^ 2 + DllStructGetData($vVector2, "Y") ^ 2)

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

    Return ACos($nScalarProduct / ($nVector1_Length * $nVector2_Length)) / $Pi_Div_180
    EndFunc ;==>_Vector_GetAngle

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

    Func _Vector_Normalize($vNorm)
    Local $vReturn = DllStructCreate("float X;float Y")

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

    $nVectorLength = Sqrt(DllStructGetData($vNorm, "X") ^ 2 + DllStructGetData($vNorm, "Y") ^ 2)
    If $nVectorLength Then
    DllStructSetData($vReturn, "X", DllStructGetData($vNorm, "X") / $nVectorLength)
    DllStructSetData($vReturn, "Y", DllStructGetData($vNorm, "Y") / $nVectorLength)
    Else
    DllStructSetData($vReturn, "X", 0)
    DllStructSetData($vReturn, "Y", 0)
    EndIf

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

    Return $vReturn
    EndFunc ;==>_Vector_Normalize

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

    Func _Vector_RotateOnZAxis($vRotate, $iDegree)
    Local $vReturn = DllStructCreate("float X;float Y")

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

    DllStructSetData($vReturn, "X", DllStructGetData($vRotate, "X") * _Cos($iDegree) - DllStructGetData($vRotate, "Y") * _Sin($iDegree))
    DllStructSetData($vReturn, "Y", DllStructGetData($vRotate, "Y") * _Cos($iDegree) + DllStructGetData($vRotate, "X") * _Sin($iDegree))

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

    Return $vReturn
    EndFunc ;==>_Vector_RotateOnZAxis

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

    Func _Vector_ProjectVector($vProject1, $vProject2)
    Local $vReturn = DllStructCreate("float X;float Y")

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

    $ScalarProduct = DllStructGetData($vProject1, "X") * DllStructGetData($vProject2, "X") + DllStructGetData($vProject1, "Y") * DllStructGetData($vProject2, "Y")
    DllStructSetData($vReturn, "X", ($ScalarProduct / (DllStructGetData($vProject1, "X") * DllStructGetData($vProject1, "Y") + DllStructGetData($vProject2, "X") * DllStructGetData($vProject1, "Y"))) * DllStructGetData($vProject2, "X"))
    DllStructSetData($vReturn, "Y", ($ScalarProduct / (DllStructGetData($vProject1, "X") * DllStructGetData($vProject1, "Y") + DllStructGetData($vProject2, "X") * DllStructGetData($vProject1, "Y"))) * DllStructGetData($vProject2, "Y"))

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

    Return $vReturn
    EndFunc ;==>_Vector_ProjectVector

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

    Func _Vector_GetLength($vLength)
    Return Sqrt(DllStructGetData($vLength, "X") ^ 2 + DllStructGetData($vLength, "Y") ^ 2)
    EndFunc ;==>_Vector_GetLength

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

    Func _Vector_Create($nXValue, $nYValue)
    Local $vReturn = DllStructCreate("float X;float Y")

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

    DllStructSetData($vReturn, "X", $nXValue)
    DllStructSetData($vReturn, "Y", $nYValue)

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

    Return $vReturn
    EndFunc ;==>_Vector_Create

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

    Func _Cos($nValue)
    Return Cos($nValue * $Pi_Div_180)
    EndFunc ;==>_Cos

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

    Func _Sin($nValue)
    Return Sin($nValue * $Pi_Div_180)
    EndFunc ;==>_Sin

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

    Func _Tan($nValue)
    Return Tan($nValue * $Pi_Div_180)
    EndFunc ;==>_Tan

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

    Func _PointIsInCircle($iX_Point, $iY_Point, $iX_Circle, $iY_Circle, $iRadius_Circle)
    $iDistPoints = _GetPointsDistance($iX_Point, $iY_Point, $iX_Circle, $iY_Circle)
    If ($iRadius_Circle > 0 And $iDistPoints < $iRadius_Circle) Or ($iRadius_Circle < 0 And $iDistPoints > $iRadius_Circle) Or $iDistPoints = 0 Then Return 1
    Return 0
    EndFunc ;==>_PointIsInCircle

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

    Func _GetPointsDistance($iPointX1, $iPointY1, $iPointX2, $iPointY2)
    Return Sqrt(($iPointX1 - $iPointX2) ^ 2 + ($iPointY1 - $iPointY2) ^ 2)
    EndFunc ;==>_GetPointsDistance

    [/autoit]
  • mehrere Textdateien nach String durchsuchen und Funde in neue Datei kopieren

    • name22
    • 15. Mai 2011 um 12:56

    Das liegt daran, dass du aus irgendeinem mir nicht ersichtlichen Grund zwischen $s und String ein "_" eingefügt hast, aber bei der Variable in dem Aufruf der StringRegExp Funktion nicht...

  • Musik abspielen

    • name22
    • 15. Mai 2011 um 12:45
    Zitat

    Kann ich damit dann all das machen??


    Ja. In der Hilfe müssten auch Beispiele zu den Befehlen sein, und im Forum gibt es bestimmt auch etwas ähnliches. Du kannst ja mal die Forensuche benutzen.

  • mehrere Textdateien nach String durchsuchen und Funde in neue Datei kopieren

    • name22
    • 15. Mai 2011 um 12:12

    Bitteschön. ;)

    Beispiel
    [autoit]

    #include <File.au3>

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

    $sString = FileRead(@ScriptDir & "\Test1.txt") ;Datei 1
    $sString &= FileRead(@ScriptDir & "\Test2.txt") ;Datei 2
    $sString &= FileRead(@ScriptDir & "\Test3.txt") ;Datei 3

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

    $sPattern = '((?:http://|ftp://|shttp://)?(?:www\.)?.+?\.(?:de|com|org|net)(?:/\S*)?)' ;Pattern um URLs herauszufiltern.

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

    $aURL = StringRegExp($sString, $sPattern, 3)
    _FileWriteFromArray(@ScriptDir & "\URL.txt", $aURL) ;Array in die Zieldatei schreiben.

    [/autoit]
  • mehrere Textdateien nach String durchsuchen und Funde in neue Datei kopieren

    • name22
    • 15. Mai 2011 um 11:26

    Zuerst liest du alle Dateien ein, und packst ihren Inhalt in eine Variable. Dann durchsuchst du diese Variable mit StringRegExp, aber verwende die Flag 3 um alle Ergebnisse in ein Array zu speichern. Danach schreibst du das ganze mit _FileWriteFromArray in eine Datei.
    Außerdem wäre dieses RegEx Pattern wohl eher geeignet...

    Code
    '((?:http://|ftp://|shttp://)?(?:www\.)?.+?\.(?:de|com|org|net)(?:/\S*)?)'
  • Musik abspielen

    • name22
    • 15. Mai 2011 um 11:22

    Nimm statt SoundPlay die _SoundOpen und _SoundPlay Funktionen aus der Sound.au3.

  • GDI+ Schwarzes Loch & Maus Text Verfolger

    • name22
    • 15. Mai 2011 um 00:38

    Das ist doch mal extrem geil! :thumbup:
    Ich muss mich jetzt unbedingt näher mit Matrizen beschäftigen... ^^

  • bbm1995 ist 16

    • name22
    • 14. Mai 2011 um 18:57
    Zitat

    Und ab heute darfst du (wenn das Jugendschutzgesetz nicht geändert wurde) auch offiziel und ohne Erziehungsberechtigten in der Öffentlichkeit Bier trinken, aber nicht übertreiben nach 16 Jahren Milch.


    :rofl:

    Herzlichen Glückwunsch zum Geburtstag bbm1995 ;).

  • TCP onlinefähig machen oder ähnliches ;)

    • name22
    • 14. Mai 2011 um 14:40
    Zitat

    n kumpel von mir hat gemeint dass das online nicht funktioniert 8|


    Es gibt in diesem Forum bereits einen TCP Chat. Ich glaube GTASpider oder so hat einen gemacht... Benutz mal die Forensuche, du wirst bestimmt was finden. Und ein TCP Tutorial für AutoIt findest du über Google (Den Link möchte/darf ich hier nicht angeben).

  • TCP onlinefähig machen oder ähnliches ;)

    • name22
    • 14. Mai 2011 um 14:37

    Ich verstehe immer noch nicht, wie du auf die Idee gekommen bist, dass TCP nur lokal funktionieren würde... 8|

  • E-Mail Client

    • name22
    • 14. Mai 2011 um 01:29
    Zitat

    wieso löscht er denn seine Beiträge?!


    Um Spuren zu verwischen. ^^ In diesem Forum werden Beiträge aus den seltsamsten Gründen gelöscht...

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™