Bilder zu einem großen zusammenfügen

  • hi,
    ich hab eine Frage, ist es möglich viele kleine Bilddateine zu einem Großen zusammenzufügen ?
    Ausgangswert wäre ein 2D-Array voller Pfade zu Bildern.

    Einmal editiert, zuletzt von M☻x (12. April 2011 um 19:43)

    • Offizieller Beitrag

    Hier mal ein Beispiel mit zwei Bildern (GDI+):

    Spoiler anzeigen
    [autoit]


    #include <GDIPlus.au3>

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

    _GDIPlus_Startup()
    $sSourceDir = StringRegExpReplace(@AutoItExe, "(.+\\).+", "$1") & "Examples\GUI\"

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

    $hSource1 = _GDIPlus_ImageLoadFromFile($sSourceDir & "msoobe.jpg")
    $hSource2 = _GDIPlus_ImageLoadFromFile($sSourceDir & "mslogo.jpg")
    $iX1 = _GDIPlus_ImageGetWidth($hSource1)
    $iY1 = _GDIPlus_ImageGetHeight($hSource1)
    $iX2 = _GDIPlus_ImageGetWidth($hSource2)
    $iY2 = _GDIPlus_ImageGetHeight($hSource2)

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

    If $iY1 < $iY2 Then $iY1 = $iY2

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

    $hGui = GUICreate("GDI+", $iX1 + $iX2, $iY1)
    $hPic = GUICtrlCreatePic('', 0,0, $iX1 + $iX2, $iY1)
    $hWnd = WinGetHandle($hGui)
    GUISetState()

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

    $hGraphic = _GDIPlus_GraphicsCreateFromHWND($hWnd)
    $hDestination = _GDIPlus_BitmapCreateFromGraphics($iX1 + $iX2, $iY1, $hGraphic)
    $hGraphic1 = _GDIPlus_ImageGetGraphicsContext($hDestination)
    _GDIPlus_GraphicsDrawImage($hGraphic1, $hSource1, 0, 0)
    _GDIPlus_GraphicsDrawImage($hGraphic1, $hSource2, $iX1, 0)

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

    _GDIPlus_ImageSaveToFile($hDestination, @ScriptDir & "\Test.jpg")
    GUICtrlSetImage($hPic, @ScriptDir & "\Test.jpg")
    Do
    Until GUIGetMsg() = -3

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

    _GDIPlus_Shutdown()

    [/autoit]