BMP zu JPG?

  • Hi,

    habt ihr eine Idee wie ich mit Autoit ein bild vom BMP Format ins JPG Format kriege?
    Also damits eben viel kleiner wird ;)
    Mich interessiert nur der eigentliche Vorgang wie ich das am besten mache,
    habe keine Anhaltspunkte :/

    Greetz

  • mit Hilfe von IrfanView ? :

    [autoit]

    RunWait("i_view32.exe bild.bmp /convert=bildneu.jpg")

    [/autoit]

    Zur Nutzung dieses Forum's, ist ein Übersetzer für folgende Begriffe unerlässlich:

    "On-Bort, weier, verscheiden, schädliges, Butten steyling, näckstet, Parr, Porblem, scripe, Kompletenz, harken, manuel zu extramieren, geckukt, würglich, excell, acces oder Compilevorgeng"

  • oder mit GDIplus, Pseudocode:
    GDIplus start
    Bild laden
    Bild speichern als ...
    GDIPlus Ende

  • Hab da was gefunden und es schnell noch ein bischen verbessert:

    Spoiler anzeigen
    [autoit]

    Func BmpToJpg($filename)
    ; GDI+ initialisieren.
    _GDIPlus_Startup()
    ; falls mehrere Dateien mit FileOpenDialog ausgewählt wurden ...
    If StringInStr($filename, '|') Then
    $aFilenames = StringSplit($filename, '|')
    For $i = 1 To $aFilenames[0]
    ; Handle zu Imageobjekt erhalten.
    $hImg = _GDIPlus_ImageLoadFromFile($filename)
    ; Imageobjekt als Bitmapdatei abspeichern.
    _GDIPlus_ImageSaveToFile($hImg,StringTrimRight($filename ,3)& "jpg")
    ; Imageobjekt auflösen.
    _GDIPlus_ImageDispose($hImg)
    Next
    ; ... falls nicht.
    Else
    ; Handle zu Imageobjekt erhalten.
    $hImg = _GDIPlus_ImageLoadFromFile($filename)
    ; Imageobjekt als Bitmapdatei abspeichern.
    _GDIPlus_ImageSaveToFile($hImg,StringTrimRight($filename ,3)& "jpg")
    ; Imageobjekt auflösen.
    _GDIPlus_ImageDispose($hImg)
    EndIf
    ; GDI+ beenden.
    _GDIPlus_Shutdown()
    EndFunc

    [/autoit]
  • yoa ich hatte mit GDI etwas rumprobiert abers nicht hinbekokmmen ;)
    Jetzt habt ihr mir ja die Arbeit ja schon weggenommen :D
    Danke an euch habt mir sehr geholfen!!

  • Genau so aus AutoItDir\Examples\GUI\Edvaned herauskopiert:

    Spoiler anzeigen
    [autoit]

    #include <GDIPlus.au3>

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

    Opt("MustDeclareVars", 1)

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

    ; ===============================================================================================================================
    ; Description ...: Shows how to convert a BMP file to JPG
    ; Author ........: Paul Campbell (PaulIA)
    ; Notes .........:
    ; ===============================================================================================================================

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

    ; ===============================================================================================================================
    ; Global variables
    ; ===============================================================================================================================
    Global $sImage, $hImage, $sCLSID

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

    ; Get BMP file to convert
    $sImage = InputBox("BMP to JPG", "Enter File Name:", @MyDocumentsDir & "\Image.bmp", "", 200, 130)
    if @Error or not FileExists($sImage) then Exit

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

    ; Initialize GDI+ library
    _GDIPlus_StartUp()

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

    ; Load image
    $hImage = _GDIPlus_ImageLoadFromFile($sImage)

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

    ; Get JPG encoder CLSID
    $sCLSID = _GDIPlus_EncodersGetCLSID("JPG")

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

    ; Save image as JPG
    _GDIPlus_ImageSaveToFileEx($hImage, @MyDocumentsDir & "\AutoItImage.jpg", $sCLSID)

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

    ; Shut down GDI+ library
    _GDIPlus_ShutDown()

    [/autoit]

    MfG. tobi_girst

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »tobi_girst« (Morgen, 25:63)