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

Beiträge von Ilse

  • Menü per Code

    • Ilse
    • 28. Juli 2012 um 09:59

    Hallo autoBert,

    super, das funktioniert prima.

    Mußte gestern leider wieder los und konnte mich
    nicht mehr melden.

    Vielen vielen Dank

    Liebe Grüße
    Ilse ;)

  • Menü per Code

    • Ilse
    • 27. Juli 2012 um 17:35

    Hallo Autobert,

    also folgendes:
    Ich muß eine Auswahl treffen.
    D.h. das Menü stellt mir alle Punkte zur Verfügung.

    Ich muß dann von z.B. 20 Menüpunkten
    5 auswählen und diese dann in der ini speichern.
    Die Reihenfolge wäre egal.

    Liebe Grüße
    ;) Ilse

  • 2 x Splashtext gleichzeitig

    • Ilse
    • 27. Juli 2012 um 16:38

    Hallo,

    ja habe ich auch gelesen,
    d.h. ich muß das mit Guis machen?

    Grüße
    Ilse ;)

  • Menü per Code

    • Ilse
    • 27. Juli 2012 um 16:26

    Hallo Autobert,

    das ganze wird ja per Gui aufgerufen
    wenn die Gui geöffnet ist,
    dann werden die Einträge im Menü ausgewählt, die ini wird dann geschrieben

    und wenn man fertig ist, wird die Gui geschlossen.


    ;) Grüße Ilse

  • 2 x Splashtext gleichzeitig

    • Ilse
    • 27. Juli 2012 um 16:20

    Hallo,

    ich möchte 2 Splashboxen gleichzeitig
    auf dem gesamten Bildschirm anzeigen.
    Eine oben
    und eine unten.

    [autoit]


    $A1 = SplashTextOn("Text1","Das ist der Text 1",@DesktopWidth,@DesktopHeight/2,0,0,2,"Arial",32)
    $A2= SplashTextOn("Text2","Das ist der Text 2",@DesktopWidth,@DesktopHeight/2,0,@DesktopHeight/2,2,"Arial",32)

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

    Sleep(3000)
    Splashoff()

    [/autoit]

    Es wird nur die letzte angezeigt.
    Geht das überhaupt, daß man mehrere anzeigen kann?


    :( Grüße Ilse

  • Menü per Code

    • Ilse
    • 27. Juli 2012 um 14:47

    Hallo Autobert,

    super,

    aber es noch ein kleines Problem:
    In der Ini kommen die Einträge leider nicht an.

    In der Console sind die Einträge drin...

    Weiß auch noch nicht woran es liegt


    ;) Liebe Grüße
    Ilse

  • Menü per Code

    • Ilse
    • 27. Juli 2012 um 09:03

    Guten Morgen zusammen,

    ich habe gestern noch vieles probiert,
    aber mein Problem konnte ich einfach nicht lösen.

    Das sollte passieren:

    Ich lege meine Menüeinträge mit Stringsplit an. (Es können jetzt mehrere sein)
    Sobald ein Menüeintrag geklickt wird, wird die Funktion aufgerufen
    und der Eintrag soll in die INI.

    Spoiler anzeigen
    [autoit]


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

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

    $Form1 = GUICreate("Form1", 500, 400)
    $MenuItem1 = GUICtrlCreateMenu("Texte")

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

    GUISetState()

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

    Global $idmNames

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

    $Text = "Beagle;Neufundländer;Dobermann;Malteser;Rottweiler;Eurasier;Tibet Terrier;Hovawart"
    $aSplit = StringSplit($Text, ";")

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

    for $i = 1 to UBound ($aSplit) - 1
    ;MsgBox(0,"",$aSplit[$i])
    ;$Idmnames[$i] = GUICtrlCreateMenuItem($aSplit[$i], $MenuItem1); das geht nicht
    $Idmnames = GUICtrlCreateMenuItem($aSplit[$i], $MenuItem1)
    next

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

    While 1
    $nMsg = GUIGetMsg ( )
    Switch ($nMsg)
    Case $GUI_EVENT_CLOSE

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

    GUIDelete()
    Exit
    ;Case $idmNames[0] To $idmNames[UBound($idmNames) - 1]

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

    ;_Auswahl() ; wenn im Menü geklickt wird, wird der Eintrag in die Ini geschrieben

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

    EndSwitch

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

    WEnd

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

    Func _Auswahl()
    IniWrite("test.ini","Hunde","Rasse","Beagle"); hier sollte statt Beagle der gewählte Menüeintrag rein!
    Msgbox(0,"Auswahl","Eintrag wurde gemacht",2)
    endfunc

    [/autoit]

    Ich mußte einiges nochmal deaktivieren, weil es leider nicht klappt.

    Liebe Grüße
    Ilse ;)

  • Menü per Code

    • Ilse
    • 26. Juli 2012 um 19:17

    Danke Greenhorn

    Da sucht man nach wer weiß was
    und es liegt an einem $i


    Liebe Grüße
    Ilse ;)

  • Menü per Code

    • Ilse
    • 26. Juli 2012 um 18:55

    Hallo Greenhorn,

    hm, da war das etwas anders.
    Ich muß auf das Menü zugreifen
    und das geht nicht!

    Spoiler anzeigen
    [autoit]


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

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

    $Form1 = GUICreate("Form1", 500, 400)
    $MenuItem1 = GUICtrlCreateMenu("Texte")

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

    GUISetState()

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

    ;$aFont = _ChooseFont()
    Dim $Text[5]
    Global $idmNames [5]

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

    $Text[1] = "Peter"
    $Text[2] = "Ilse"
    $Text[3] = "Klaus"
    $Text[4] = "Inge"

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

    for $i = 0 to 4
    $Idnames = GUICtrlCreateMenuItem($Text[$i], $MenuItem1)
    next

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

    While 1
    $nMsg = GUIGetMsg ( )
    Switch ($nMsg)
    Case $GUI_EVENT_CLOSE

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

    GUIDelete()
    Exit
    Case $idmNames[0] To $idmNames[UBound($idmNames) - 1]
    MsgBox(4096, "", StringFormat ("Es wurde eine Schaltfläche gedrückt.\nID: %d\nText: %s", $nMsg, GUICtrlRead ($nMsg)))

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

    EndSwitch

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

    WEnd

    [/autoit]

    ;) Ilse

  • Menü per Code

    • Ilse
    • 26. Juli 2012 um 18:39

    Hallo Greenhorn,

    heieiei...

    schau ich mir gleich nochmal an.

    Liebe Grüße
    ;) Ilse

  • Menü per Code

    • Ilse
    • 26. Juli 2012 um 17:44

    Hallo,

    ich erstelle per Code ein Menü.
    Das klappt soweit.

    Meine Frage:

    Wie kann ich für jeden Menüeintrag
    zusätzlich per Code einen Case Befehl
    in der While Schleife anlegen?

    Spoiler anzeigen
    [autoit]


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

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

    $Form1 = GUICreate("Form1", 500, 400)
    $MenuItem1 = GUICtrlCreateMenu("Texte")

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

    GUISetState()

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

    ;$aFont = _ChooseFont()
    Dim $Text[5]

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

    $Text[1] = "Peter"
    $Text[2] = "Ilse"
    $Text[3] = "Klaus"
    $Text[4] = "Inge"

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

    for $i = 0 to 4
    GUICtrlCreateMenuItem($Text[$i], $MenuItem1)
    next

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

    While 1
    Switch GUIGetMsg()
    Case $GUI_EVENT_CLOSE

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

    GUIDelete()
    Exit

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

    ; Case Inge....sollte automatisch erzeugt werden

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

    EndSwitch

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

    WEnd

    [/autoit]

    Also

    Case Peter
    Case Ilse...


    ;) Grüße Ilse

  • Gdi+ Grafik speichern

    • Ilse
    • 25. Juli 2012 um 18:29

    Hallo UEZ,

    so, die 2 Zeilen haben mich zwar 1 Stunde beschäftigt.

    ABER: Ich hab's (juhu)


    Vielen vielen Dank nochmals
    für deine Hilfe

    Liebe Grüße
    Ilse ;)

  • Gdi+ Grafik speichern

    • Ilse
    • 25. Juli 2012 um 16:49

    Hallo UEZ,

    eine Frage noch zu deinem Script:

    Das originalbild hat ja z.B. eine bestimmte Größe: sagen wir 600 x 400 Pixel
    Wenn aber abgespeichert wird dann stimmen diese Werte nicht mehr.

    Das Bild hat einen schwarzen Rand.

    Hast du eine Ahnung woran das liegen kann?


    ;) Grüße Ilse

  • Gdi+ Grafik speichern

    • Ilse
    • 25. Juli 2012 um 16:44

    Hallo UEZ,

    erstmal VIELEN DANK für deine Lösung.
    Ich werde mir jetzt mal genau alles ansehen und versuchen zu verstehen.

    SUPER!

    Und natürlich DANKE an $Var und name22

    GDI+ ist toll, aber auch ziemlich heftig


    Liebe Grüße
    Ilse ;)

  • Gdi+ Grafik speichern

    • Ilse
    • 25. Juli 2012 um 16:34

    Hallo,

    ich kämpfe immer noch mit den Farben.

    Ich habe die Funktion eingebaut.
    Mit _Arraydisplay ermittle ich ja den Farbwert.

    [autoit]


    $Fontdesign = _ChooseFont()
    _ArrayDisplay($Fontdesign)

    [/autoit]

    $Fontdesign[7] ist der Farbwert

    den habe ich mit der Funktion eingebaut

    [autoit]


    _GDIPlus_GraphicsDrawStringCustom ($hGraphics, $Text2, $x, $y, $Fontdesign[3], $Fontdesign[7])

    [/autoit]

    Die Schrift ändert sich, aber nicht die Farbe.

    Meine Baustelle:

    Spoiler anzeigen
    [autoit]


    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <gdiplus.au3>
    #include <ScreenCapture.au3>
    #include <WinAPI.au3>
    #include <misc.au3>
    #include <array.au3>

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

    $x = 90
    $y = 200

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

    $Form1 = GUICreate("Form1", 625, 443, 192, 124)
    GUISetState()

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

    $Fontdesign = _ChooseFont()
    _ArrayDisplay($Fontdesign)
    $Text1 = "Das ist Text 1"
    $Text2 = "Das ist Text 2"
    $Text3 = "Das ist Text 3"

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

    _GDIPlus_Startup()

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

    $hgraphics = _GDIPlus_GraphicsCreateFromHWND($Form1)
    $hImage = _GDIPlus_BitmapCreateFromFile(FileOpenDialog("Bild auswählen", @ScriptDir, "Bilder (*.jpg)"))
    $hgraphics2 = _GDIPlus_ImageGetGraphicsContext($hImage)

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

    _GDIPlus_GraphicsDrawImage($hgraphics, $hImage, 0, 0)

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

    _GDIPlus_GraphicsDrawStringCustom ($hGraphics, $Text2, $x, $y, $Fontdesign[3], $Fontdesign[7])
    ;_GDIPlus_GraphicsDrawStringCustom ($hGraphics, '_Text mit Farbe', 20, 100, 9, $Fontdesign[7], 0, 1, 'Arial')
    ;_GDIPlus_GraphicsDrawStringCustom ($hGraphics, '_GDIPlus_GraphicsDrawStringCustom', 20, 100, 9, 0xFF333333, 0, 1, 'Arial')
    ;_GDIPlus_GraphicsDrawString($hgraphics, $Text1, $x, $y,$Test[2],$Test[3]); hier habe ich XY Koordinaten

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

    ;~ _GDIPlus_GraphicsDrawString($hgraphics, $Text2, 80, 30, $Test[2], $Test[3])
    ;~ _GDIPlus_GraphicsDrawString($hgraphics, $Text3, 100, 70, $Test[2], $Test[3])
    $hgraphics2 = _GDIPlus_ImageGetGraphicsContext($hImage)

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

    ;ab hier wird gespeichert
    _GDIPlus_GraphicsDrawString($hgraphics, $Text1, $x, $y, $Fontdesign[2], $Fontdesign[3]); hier habe ich XY Koordinaten
    _GDIPlus_GraphicsDrawString($hgraphics, $Text2, 80, 30, $Fontdesign[2], $Fontdesign[3])
    _GDIPlus_GraphicsDrawString($hgraphics, $Text3, 100, 70, $Fontdesign[2], $Fontdesign[3])

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

    _GDIPlus_ImageSaveToFile($hImage, @ScriptDir & "\Ilse.jpg")

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    EndSwitch
    Select
    Case _IsPressed(25) ;Pfeil links
    $x -= 1
    MsgBox(0, $x, "gedrückt")
    Case _IsPressed(26)
    $y -= 1
    Case _IsPressed(27)
    $x += 1
    Case _IsPressed(28)
    $y += 1
    EndSelect
    ;_GDIPlus_GraphicsDrawString($hgraphics, $Text1, $x, $y,$Test[2],$Test[3])
    WEnd

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

    _GDIPlus_Shutdown()

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

    ; #FUNCTION# ===================================================================
    ; Name ..........: _GDIPlus_GraphicsDrawStringCustom
    ; Description ...: Draw a customized string
    ; AutoIt Version : v3.3.6.1
    ; Syntax ........: _GDIPlus_GraphicsDrawStringCustom ($h_Graphics, $s_String, $i_X, $i_Y, $n_Size, $b_Color[, $i_Align = 0[, $i_Weight = 0[, $s_Font = 'Tahoma']]])
    ; Parameter(s): .: $h_Graphics - Handle to a Graphics object
    ; $s_String - String to be drawn
    ; $i_X - X coordinate where the string will be drawn
    ; $i_Y - Y coordinate where the string will be drawn
    ; $n_Size - Font size to use for drawing
    ; $b_Color - Alpha, Red, Green and Blue components
    ; $i_Align - The alignment can be one of the following:
    ; |0 - The text is aligned to the left
    ; |1 - The text is centered
    ; |2 - The text is aligned to the right
    ; $i_Weight - The style of the typeface. Can be a combination of the following:
    ; |0 - Normal weight or thickness of the typeface
    ; |1 - Bold typeface
    ; |2 - Italic typeface
    ; |4 - Underline
    ; |8 - Strikethrough
    ; $s_Font - Name of the Font Family
    ; Return Value ..: Success - True
    ; Failure - False
    ; Author(s) .....: $var
    ; ==============================================================================
    Func _GDIPlus_GraphicsDrawStringCustom ($h_Graphics, $s_String, $i_X, $i_Y, $n_Size, $b_Color, $i_Align = 0, $i_Weight = 0, $s_Font = 'Tahoma')
    Local $a_CreateSolidFill, $a_CreateStringFormat, $a_CreateFontFamilyFromName, $a_CreateFont, $t_Struct, $p_Layout, $a_Return
    $a_CreateSolidFill = DllCall ($ghGDIPDll, 'int', 'GdipCreateSolidFill', 'int', $b_Color, 'dword*', 0)
    $a_CreateStringFormat = DllCall ($ghGDIPDll, 'int', 'GdipCreateStringFormat', 'int', 0, 'word', 0, 'ptr*', 0)
    $a_CreateFontFamilyFromName = DllCall ($ghGDIPDll, 'int', 'GdipCreateFontFamilyFromName', 'wstr', $s_Font, 'ptr', 0, 'handle*', 0)
    $a_CreateFont = DllCall ($ghGDIPDll, 'int', 'GdipCreateFont', 'handle', $a_CreateFontFamilyFromName[3], 'float', $n_Size, 'int', $i_Weight, 'int', 3, 'ptr*', 0)
    $t_Struct = DllStructCreate ($tagGDIPRECTF)
    $p_Layout = DllStructGetPtr ($t_Struct)
    DllStructSetData ($t_Struct, 'X', $i_X)
    DllStructSetData ($t_Struct, 'Y', $i_Y)
    DllStructSetData ($t_Struct, 'Width', 0)
    DllStructSetData ($t_Struct, 'Height', 0)
    DllCall ($ghGDIPDll, 'int', 'GdipSetStringFormatAlign', 'handle', $a_CreateStringFormat[3], 'int', $i_Align)
    $a_Return = DllCall ($ghGDIPDll, 'int', 'GdipDrawString', 'handle', $h_Graphics, 'wstr', $s_String, 'int', -1, 'handle', $a_CreateFont[5], _
    'ptr', $p_Layout, 'handle', $a_CreateStringFormat[3], 'handle', $a_CreateSolidFill[2])
    Return $a_Return[0] = 0
    EndFunc ;==> _GDIPlus_GraphicsDrawStringCustom

    [/autoit]

    Mit dem Zeichnen...ob das heute noch klappt

    In diesem Script habe ich nur die Farben probiert, da hat sich nichts geändert


    Grüße
    Ilse :(

  • Gdi+ Grafik speichern

    • Ilse
    • 25. Juli 2012 um 15:36

    Hallo name22,

    huh...GDI Plus ist noch alles neu.
    Ja, logisch hatte ich übersehen.

    Ich komm mit
    _GDIPlus_GraphicsDrawStringEx

    irgendwie nicht weiter.
    Hab was aus der Hilfe gefunden
    aber das geht nicht.

    Spoiler anzeigen
    [autoit]


    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <gdiplus.au3>
    #include <ScreenCapture.au3>
    #include <WinAPI.au3>
    #include <misc.au3>
    #include <array.au3>

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

    $x = 0
    $y = 0

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

    $Form1 = GUICreate("Form1", 625, 443, 192, 124)
    GUISetState()

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

    $Test = _ChooseFont()
    _ArrayDisplay($Test)
    $Text1 = "Das ist Text 1"
    $Text2 = "Das ist Text 2"
    $Text3 = "Das ist Text 3"

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

    _GDIPlus_Startup()

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

    $hBrush = _GDIPlus_BrushCreateSolid($Test[6]); Schriftfarbe von Array
    $hFormat = _GDIPlus_StringFormatCreate()
    $hFamily = _GDIPlus_FontFamilyCreate($Test[2])
    $hFont = _GDIPlus_FontCreate($hFamily, $Test[3], 2)
    $tLayout = _GDIPlus_RectFCreate(140, 110, 0, 0)
    ;$aInfo = _GDIPlus_GraphicsMeasureString($hGraphics, $sString, $hFont, $tLayout, $hFormat)

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

    $hgraphics = _GDIPlus_GraphicsCreateFromHWND($Form1)
    $hImage = _GDIPlus_BitmapCreateFromFile(FileOpenDialog("Bild auswählen", @ScriptDir, "Bilder (*.jpg)"))
    $hgraphics2 = _GDIPlus_ImageGetGraphicsContext($hImage)

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

    _GDIPlus_GraphicsDrawImage($hgraphics, $hImage, 0, 0)

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

    _GDIPlus_GraphicsDrawStringEx($hgraphics, $Text1, $Test[2], 0, $hFormat, $hBrush) ;hier mit StringEx
    ;_GDIPlus_GraphicsDrawString($hgraphics, $Text1, $x, $y,$Test[2],$Test[3]); hier habe ich XY Koordinaten
    _GDIPlus_GraphicsDrawString($hgraphics, $Text2, 80, 30, $Test[2], $Test[3])
    _GDIPlus_GraphicsDrawString($hgraphics, $Text3, 100, 70, $Test[2], $Test[3])
    $hgraphics2 = _GDIPlus_ImageGetGraphicsContext($hImage)

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

    ;ab hier wird gespeichert
    _GDIPlus_GraphicsDrawString($hgraphics, $Text1, $x, $y, $Test[2], $Test[3]); hier habe ich XY Koordinaten
    _GDIPlus_GraphicsDrawString($hgraphics, $Text2, 80, 30, $Test[2], $Test[3])
    _GDIPlus_GraphicsDrawString($hgraphics, $Text3, 100, 70, $Test[2], $Test[3])

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

    _GDIPlus_ImageSaveToFile($hImage, @ScriptDir & "\Ilse.jpg")

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    EndSwitch
    Select
    Case _IsPressed(25) ;Pfeil links
    $x -= 1
    MsgBox(0, $x, "gedrückt")
    Case _IsPressed(26)
    $y -= 1
    Case _IsPressed(27)
    $x += 1
    Case _IsPressed(28)
    $y += 1
    EndSelect
    ;_GDIPlus_GraphicsDrawString($hgraphics, $Text1, $x, $y,$Test[2],$Test[3])
    WEnd

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

    _GDIPlus_Shutdown()

    [/autoit]
    Zitat

    Du müsstest bei jeder Positionsveränderung alles neuzeichnen, speichern etc

    Mir qualmt gerade so richtig der Kopf

    Grüße
    Ilse ?(

  • Gdi+ Grafik speichern

    • Ilse
    • 25. Juli 2012 um 14:28

    Hallo,

    muß mich leider wieder melden.
    Nach langem probieren und testen bin ich einfach nicht mehr weitergekommen.

    1. Problem die Textfarbe
    Ich kann diese mit _Arraydisplay zwar ermitteln
    aber das Array bei _GDIPlus_GraphicsDrawString nicht eintragen

    2. Problem
    Ich wollte mit den Pfleiltasten eine neue Position für den Text bestimmen
    und dann abspeichern....
    Klappt leider auch nicht ... komme einfach nicht weiter

    Spoiler anzeigen
    [autoit]


    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <gdiplus.au3>
    #include <ScreenCapture.au3>
    #include <WinAPI.au3>
    #include <misc.au3>
    #include <array.au3>

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

    $x = 0
    $y = 0

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

    $Form1 = GUICreate("Form1", 625, 443, 192, 124)
    GUISetState()

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

    $Test = _ChooseFont()
    ;_ArrayDisplay($Test)
    $Text1 = "Das ist Text 1"
    $Text2 = "Das ist Text 2"
    $Text3 = "Das ist Text 3"

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

    _GDIPlus_Startup()

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

    $hgraphics = _GDIPlus_GraphicsCreateFromHWND($form1)
    $hImage = _GDIPlus_BitmapCreateFromFile(FileOpenDialog("Bild auswählen", @ScriptDir, "Bilder (*.jpg)"))
    $hgraphics2 = _GDIPlus_ImageGetGraphicsContext($hImage)

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

    _GDIPlus_GraphicsDrawImage($hgraphics, $hImage, 0, 0)

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

    _GDIPlus_GraphicsDrawString($hgraphics, $Text1, $x, $y,$Test[2],$Test[3]); hier habe ich XY Koordinaten
    _GDIPlus_GraphicsDrawString($hgraphics, $Text2, 80, 30,$Test[2],$Test[3])
    _GDIPlus_GraphicsDrawString($hgraphics, $Text3, 100, 70,$Test[2],$Test[3])
    $hgraphics2 = _GDIPlus_ImageGetGraphicsContext($hImage)

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

    ;ab hier wird gespeichert
    _GDIPlus_GraphicsDrawString($hgraphics, $Text1, $x, $y,$Test[2],$Test[3]); hier habe ich XY Koordinaten
    _GDIPlus_GraphicsDrawString($hgraphics, $Text2, 80, 30,$Test[2],$Test[3])
    _GDIPlus_GraphicsDrawString($hgraphics, $Text3, 100, 70,$Test[2],$Test[3])

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

    _GDIPlus_ImageSaveToFile($hImage, @ScriptDir & "\Ilse.jpg")

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

    _GDIPlus_Shutdown()

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    EndSwitch
    Select
    Case _IsPressed(25) ;Pfeil links
    $x -= 1
    Msgbox(0,$x,"gedrückt")
    Case _IsPressed(26)
    $y -= 1
    Case _IsPressed(27)
    $x += 1
    Case _IsPressed(28)
    $y += 1
    EndSelect
    ;_GDIPlus_GraphicsDrawString($hgraphics, $Text1, $x, $y,$Test[2],$Test[3])
    WEnd

    [/autoit]

    Bin noch am überlegen wie ich das am besten
    mit mehreren Texten lösen kann.
    Wäre schon mal toll wenn das mit den Farben und der Position klappen würde.


    Liebe Grüße
    Ilse ;)

  • Gdi+ Grafik speichern

    • Ilse
    • 24. Juli 2012 um 19:21

    Hallo,

    ich hab's!

    @m-obi,
    hey, sei nicht immer so streng mit mir ;)
    Ich brauch halt manchmal etwas länger :(
    und danke für den erlösenden Tipp mit GDI

    chesstiger , $var
    super, dachte wirklich in Richtung Gui, einlesen...
    Dank euch!

    Liebe Grüße
    an alle ;) Ilse

  • Gdi+ Grafik speichern

    • Ilse
    • 24. Juli 2012 um 19:06

    bin doch gerade dabei m-obi,

    Also es werden arrays zurückgegeben...

  • Gdi+ Grafik speichern

    • Ilse
    • 24. Juli 2012 um 19:01

    Hallo,

    hab das mit den Fonts gefunden.
    Aber das einlesen mit GDI klappt noch nicht.

    Spoiler anzeigen
    [autoit]


    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <gdiplus.au3>
    #include <ScreenCapture.au3>
    #include <WinAPI.au3>
    #include <misc.au3>
    $Form1 = GUICreate("Form1", 625, 443, 192, 124)
    GUISetState()

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

    $Test = _ChooseFont("","")
    _GDIPlus_Startup()

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

    $hgraphics = _GDIPlus_GraphicsCreateFromHWND($form1)
    ;$Bild1 = _GDIPlus_ImageLoadFromFile(@ScriptDir&"\bk.jpg")
    $hImage = _GDIPlus_BitmapCreateFromFile(FileOpenDialog("Bild auswählen", @UserProfileDir, "Bilder (*.*)"))
    $hgraphics2 = _GDIPlus_ImageGetGraphicsContext($hImage)

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

    _GDIPlus_GraphicsDrawImage($hgraphics, $hImage, 0, 0)
    ;_GDIPlus_GraphicsDrawString($hgraphics, "Das ist ein Text", 50, 10,"Arial","50")
    _GDIPlus_GraphicsDrawString($hgraphics, $Test, 50, 10)

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

    ;_GDIPlus_GraphicsDrawString($hgraphics2, "Das ist ein Text", 50, 10,"Arial","50")

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

    _GDIPlus_GraphicsDrawString($hgraphics2, $Test, 50, 10)

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

    _GDIPlus_ImageSaveToFile($hImage, @ScriptDir & "\GDIPlus.jpg")

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

    _GDIPlus_Shutdown()

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    EndSwitch
    WEnd

    [/autoit]

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™