Bild um 90 Grad drehen

  • Hi Leute,

    wie kann ich ein Bild ( .JPG ) mit AutoIT um 90Grad drehen?
    Alles im Hintergrund natürlich.
    Es ist bestimmt mit GDIPlus möglich, habe aber schon gestöbert und es nicht hinbekommen :(

    um jede Hilfe dankbar!

    Greetz qon

  • Xenobiologist : Wenn er das bei 100 Dateien machen will, dann macht es schon Sinn ;)

    Hier mal mein Quelltext, ist aus der Hilfe, leicht abgeändert:

    Spoiler anzeigen
    [autoit]


    #include <GDIPlus.au3>

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

    Local $hImage
    Local $sCLSID
    Local $tData
    Local $tParams
    Local $QuellDatei = 'test.jpg'
    Local $ZeilDatei = 'test90.jpg'

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

    ; GDI starten
    _GDIPlus_Startup ()
    ; Bild laden
    $hImage = _GDIPlus_ImageLoadFromFile ($QuellDatei)
    ; Für JPG Bilder muss folgende Zeile aktiv sein
    $sCLSID = _GDIPlus_EncodersGetCLSID ("JPG")
    ; Ab hier werden die Parameter gesetzt
    $tData = DllStructCreate("int Data")
    DllStructSetData($tData, "Data", $GDIP_EVTTRANSFORMROTATE90)
    $tParams = _GDIPlus_ParamInit (1)
    _GDIPlus_ParamAdd ($tParams, $GDIP_EPGTRANSFORMATION, 1, $GDIP_EPTLONG, DllStructGetPtr($tData, "Data"))
    ; Bild speichern
    _GDIPlus_ImageSaveToFileEx ($hImage, $ZeilDatei, $sCLSID, DllStructGetPtr($tParams))
    ; GDI beenden
    _GDIPlus_ShutDown ()

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

    Mfg
    Jens (McPoldy)

    Twitter: jkroeger

    Denn die Dinge, die wir erst lernen müssen, bevor wir sie tun, lernen wir beim Tun.(Aristoteles)

    • Offizieller Beitrag

    Das ist mir schon klar.

    Ich habe nur aus meiner Erfahrung haraus einfach mal nachgefragt. Weil es viele gibt die etwas skripten obwohl es wenig Sinn ergbit. Wenn es dann unbedingt sein muss, dann kann man es immer noch umsetzen. Ich checke nur gern die Notwendigkeit/Sinn vorher ab.

    Teilweise ergeben sich dann ganz andere Möglichkeiten.

    Mega

  • Ja das ist schon richtig, ich nutze das auch nur um weiter zu lernen. Was ich damit meine, wenn man auch so manche unsinnigen sachen wie das hier macht, lernt man doch immer neu Funktionen kennen. Ich persöhnlich würde mir zum drehen von vielen Bildern IrFanView nehmen, oder sonst irgend ein Tool. (Keine Ahnung ob es mit IrFan geht, schon lange nicht mehr benutzt)

    [Edit]: Ja das drehen geht bei IrFan als Batch

    Mfg
    Jens (McPoldy)

    Twitter: jkroeger

    Denn die Dinge, die wir erst lernen müssen, bevor wir sie tun, lernen wir beim Tun.(Aristoteles)

    Einmal editiert, zuletzt von McPoldy (5. März 2008 um 13:53)

  • Das ist mir schon klar.

    Ich habe nur aus meiner Erfahrung haraus einfach mal nachgefragt. Weil es viele gibt die etwas skripten obwohl es wenig Sinn ergbit. Wenn es dann unbedingt sein muss, dann kann man es immer noch umsetzen. Ich checke nur gern die Notwendigkeit/Sinn vorher ab.

    Teilweise ergeben sich dann ganz andere Möglichkeiten.

    Mega

    Hi,

    na also wie gesagt für viele Bilder ist das schon dumm, alles manuell zu machen!
    Ich brauche es für zwei Dinge:
    #1 - Meine Mutter hat wirklich nicht viel Ahnung vom PC, und da ist es schon etwas schwerer der zu erklären, we man ein Bild um 90Grad dreht,
    vorallem das sie sichs fürs nächste mal behält und mich nicht immer ruft ;]
    Ich habe ihr ein kleines Programm geschrieben, was vor einem Brennprozess bei Nero die Playliste screend und sie ausdruckt, nur da sie einen Laptop mit Widescreen hat, wurde das Bild auf 2 Blätter gedruckt, das ist recht unbrauchbar, eine Drehung von 90 Grad löst das Problem.
    #2 - Mein Vater macht viele Bilder mit Digicam's, und hat auch nicht viel Spass daran, die BIlder alle immer zu drehen, wenn er welche Querformat macht ;].

    Also Sinn ist da wirklich dabei!
    Und sinnlos skripten mache ich nie, wenn ist mind. immer ein Lernefekt dabei.

    So nun zu McPoldy:
    DANKE! Werd's direkt einbauen und berichten.

    Greetz