Bild in Bild

  • Hallo !

    Die Suchfunktion ergab keine Hilfe, wenn doch, dann schreibt mir bitte die Suchkriterien.
    Ich habe folgendes Problem zu dem ich seit zwei Tagen vergeblich eine Lösung suche:
    Ich möchte Einen Screenshot eines Bildschirmteilbereichs (Teilscreenshot) machen und diesen in ein anderes Bild einfügen.
    Folgendes geht bezüglich Teilscreenshot in Screenshot des ganzen Bildschirms einfügen:

    Spoiler anzeigen
    [autoit]

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

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

    Opt('MustDeclareVars',1)

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

    _Main()

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

    Func _Main()
    Local$hBitmap1,$hBitmap2,$hImage1,$hImage2,$hGraphic

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

    ; Initialisiert (startet) Microsoft Windows GDI+
    _GDIPlus_Startup()

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

    ; Erstellt vom kompletten Bildschirm einen Screenshot
    $hBitmap1=_ScreenCapture_Capture("")
    $hImage1=_GDIPlus_BitmapCreateFromHBITMAP($hBitmap1)

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

    ; Erstellt von einem Bereich einen Screenshot
    $hBitmap2=_ScreenCapture_Capture("",0,0,400,300)
    $hImage2=_GDIPlus_BitmapCreateFromHBITMAP($hBitmap2)

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

    ; Zeichnet ein Bild in ein anderes
    $hGraphic=_GDIPlus_ImageGetGraphicsContext($hImage1)
    _GDIPlus_GraphicsDrawImageRect($hGraphic,$hImage2,100,100,400,300)

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

    ; Zeichnet einen Rahmen um das eingefügte Bild
    _GDIPlus_GraphicsDrawRect($hGraphic,100,100,400,300)

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

    ; Speichert das neue Bild
    _GDIPlus_ImageSaveToFile($hImage1,@MyDocumentsDir&"\GDIPlus_Image.jpg")

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

    ; Ressourcen freigeben
    _GDIPlus_ImageDispose($hImage1)
    _GDIPlus_ImageDispose($hImage2)
    _WinAPI_DeleteObject($hBitmap1)
    _WinAPI_DeleteObject($hBitmap2)

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

    ; Gibt die durch Microsoft Windows GDI+ verwendeten Ressourcen wieder frei
    _GDIPlus_Shutdown()

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

    EndFunc

    [/autoit]

    Das kommt von der AutoIT Onlinehilfe.


    Jetzt möchte ich im Grunde die Zeile
    $hBitmap1=_ScreenCapture_Capture("")

    mit folgender ersetzen:
    $hBitmap1=_GDIPlus_ImageLoadFromFile(@MyDocumentsDir&"\GDIPlus_Image.jpg")

    nur leider geht das so nicht. Aber rein logisch wäre das meiner Meinung nach die Lösung.
    Kann mir jemand mir der tatsächlichen lösung helfen ? Wäre sehr dankbar !!

    2 Mal editiert, zuletzt von nick stamper (17. Juni 2012 um 17:50)

  • Yippi Ya Yei, Schw... :rock:

    ich such da eine Ewigkeit nach, hab auch alle notwendigen Befehle und Zeilen längst schon mal versucht, nur nicht in der richtigen Zusammensetzung !

    Manchmal kann das Leben so einfach sein. Vielen Dank an dieses Forum und ganz besonderen Dank an dich, $var für den Link zu meiner Lösung !