Bildausschnitt speichern

  • Hi,

    ich möchte aus einem großen Screenshot einen Bildausschnitt speichern. Bislang habe ich leider nur Scripte gefunden, bei denen der Bildausschnitt dann in einem GUI angezeigt wird aber nicht gespeichert (z.B. Beispiel von _GDIPlus_GraphicsDrawImageRectRect).
    Ich habs mal wie folgt versucht:

    [autoit]

    #include <ScreenCapture.au3>
    #include <GDIPlus.au3>

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

    ;Screenshot zum testen erstellen
    _ScreenCapture_Capture(@MyDocumentsDir & "\Bildausschnitt-Test.png")

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

    ;Der falsche GDI+ Kram
    _GDIPlus_Startup()
    $ImageOrginal = _GDIPlus_BitmapCreateFromFile(@MyDocumentsDir & "\Bildausschnitt-Test.png")
    ;~ $Width = _GDIPlus_ImageGetWidth($ImageOrginal) - 1
    ;~ $Height = _GDIPlus_ImageGetHeight($ImageOrginal) - 1

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

    $Bitmap = _GDIPlus_BitmapCreateFromScan0(100, 100)
    $Graphic = _GDIPlus_ImageGetGraphicsContext($Bitmap)
    $ImageNew = _GDIPLus_GraphicsDrawImageRectRect($Graphic, $ImageOrginal, 0, 0, 100, 100, 0, 0, 100, 100)
    _GDIPlus_ImageSaveToFile($ImageNew, @MyDocumentsDir & "\Bildausschnitt-Test-NEU.png")

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

    _GDIPlus_BitmapDispose($ImageOrginal)
    _GDIPlus_BitmapDispose($Bitmap)
    _GDIPlus_Shutdown()

    [/autoit]


    Leider wird kein Bildausschnitt-Test-NEU.png erstellt :(.
    Ich hoffe ihr könnt mir helfen.

    Rechtschreibfehler sind Spezialeffekte meiner Tastatur.

    Einmal editiert, zuletzt von owi dowi spinn (20. März 2014 um 11:46)

  • Du speicherst den Rückgabe wert von

    [autoit]

    _GDIPLus_GraphicsDrawImageRectRect

    [/autoit]

    und das ist laut hilfe True/False versuche mal

    [autoit]

    _GDIPlus_ImageSaveToFile($Bitmap, @MyDocumentsDir & "\Bildausschnitt-Test-NEU.png")

    [/autoit]