Text in Bild hinzufügen

  • Hi,

    ich habe schon seit längerem ein Skript bei dem in ein Bild ein Text ergänzt wird.

    Nun habe bemerkt, dass es nicht mehr funktioniert.

    Oder ich steh grad aufm Schlauch und überseh was:/

    Leider ist der Text nicht sichtbar.

    Ich habe Win 10 1909 64bit

  • Dein Text ist aus dem Bild raus, weil du da die Größe des eigentlichen Bildes draufaddierst.

    Kommentier mal 57/58 aus, dann siehst du deinen Text.

    AutoIt
    $text_pos_x_func += $iX
    $text_pos_y_func += $iy

    Lass dir wenn du dir unsicher bist immer die Werte ausgeben, du siehst bei $text_pos_x_func, dass diese (bei mir) irgendwo bei 3000+ liegen.

    Außerdem brauchst du gar keine GUI zu erzeugen (Z. 37) um das Bild zu kopieren, ich weiß zwar nicht warum du nicht einfach FileCopy nutzt,

    aber du kannst auch Bitmaps ohne GUIs erzeugen. _GDIPlus_BitmapCreateFromScan0.

  • Oh man stimmt.

    Ich habe bisher immer Minuswerte angegeben, da ich den Abstand von rechts unten herstellen wollte.

    Nun habe ich zum testen allerdings Pluswerte verwendetet, was damit natürlich nicht funktioniert.

    Danke für den Tipp:S

    Außerdem habe ich die GUI entfernt.

    Wie meinst du das mit FileCopy?

    Ich vergrößere das Bild auf Desktopgröße bevor ich den Text einfüge.

    Deshalb kann ich doch kein FileCopy verwenden. Oder meinst du was anderes?

  • Ich vergrößere das Bild auf Desktopgröße bevor ich den Text einfüge.

    Deshalb kann ich doch kein FileCopy verwenden. Oder meinst du was anderes?

    Mein Fehler, ich hab das vergrößern übersehen, aber du kannst es ja auch direkt vergrößern und draufzeichnen. Wozu zwischenspeichern?

    Du kannst sogar statt 'ner Bitmap zum zwischenspeichern auf dem Original arbeiten:

  • Wow, danke funktioniert :)

    Im 2. Beispiel war noch ein kleiner Fehler drin in Zeile 19.

    Statt

    AutoIt
    _GDIPlus_ImageResize($hImage, @DesktopWidth, @DesktopHeight)

    muss es

    AutoIt
    $hImage = _GDIPlus_ImageResize($hImage, @DesktopWidth, @DesktopHeight)

    heißen