Bild teilen

  • Tach alle zusammen :)

    Ich hab folgendes Problem:
    Ich hab ein Bild (Anhang), dass aus mehreren Teilen besteht. Diese Teile will ich einzeln darstellen, also das Bild aufteilen.

    Beispiel:
    Das Bild ist 400 * 400 Pixel groß (Höhe, Breite).
    Dann will ich einen bestimmten Berreich der 48 * 48 Pixel groß ist ausschneiden (es soll keine neue Datei erstellt werden, wichtig!).
    Dieser Bereich liegt im Bild bei 200 * 200 (Höhe, Breite).

    Wie soll ich das anstellen?
    In der SuFu hab ich nichts gefunden. :(

    Ich danke euch schonmal für die Antworten.

    MfG
    H2112

    Edit:
    Habs mit folgendem Script gelöst:

    Spoiler anzeigen
    [autoit]

    #include <GDIPlus.au3>
    #include <GuiConstantsEx.au3>
    #Include <WinAPI.au3>

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

    Global $iI, $hBitmap, $hGraphic, $hGUI, $hImage, $aSlice[4]

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

    $hGUI = GUICreate("Bildteiler", 400, 400)
    GUISetState()

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

    _GDIPlus_Startup()

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

    $hImage = _GDIPlus_BitmapCreateFromFile("Test.JPG")
    $hSplit = _GDIPlus_BitmapCloneArea($hImage, 200, 200, 48, 48)

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

    $hGraphic = _GDIPlus_GraphicsCreateFromHWND($hGUI)
    _GDIPlus_GraphicsDrawImage($hGraphic, $hSplit, 100, 100)

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

    Do
    _GDIPlus_GraphicsDrawImage($hGraphic, $hSplit, 100, 100)
    Until GUIGetMsg() = $GUI_EVENT_CLOSE

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

    _GDIPlus_GraphicsDispose($hGraphic)
    _WinAPI_DeleteObject($hImage)

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

    _GDIPlus_Shutdown()

    [/autoit]
    Zitat

    [Heute, 11:39] Raupi: Soll ich es dir machen?
    [Heute, 11:47] BugFix: "Soll ich es dir machen? " - also Raupi !! bitte nicht so öffentlich :rofl:

    Zitat

    [Heute, 11:51] BugFix: und ich werde es mir jetzt machen - das Mittagessen :P

    AMsg UDF v1.00.00 IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII 100%
    OwnStyle UDF Version 1.10.00 IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII 100%

    2 Mal editiert, zuletzt von H2112 (9. August 2009 um 16:15)

  • Ich hab mir auch schon gedacht, dass das mit GDI+ funktioniert. :)

    Könntest du mir bitte irgendeinen GDI+ Befehl als Ansatz geben?

    Edit:
    So hab jetzt die Funktion

    [autoit]

    _GDIPlus_BitmapCloneArea()

    [/autoit]

    gefunden.

    Nur versteh ich nicht wirklich, wie ich das anstellen soll, ohne eine neue Datei zu erstellen. :/


    Edit2:
    Habs jetzt so probiert:

    Spoiler anzeigen

    Lösung Erster Post

    Was mache ich falsch?

    Edit3:
    Habs gelöst (Erster Post)

    Zitat

    [Heute, 11:39] Raupi: Soll ich es dir machen?
    [Heute, 11:47] BugFix: "Soll ich es dir machen? " - also Raupi !! bitte nicht so öffentlich :rofl:

    Zitat

    [Heute, 11:51] BugFix: und ich werde es mir jetzt machen - das Mittagessen :P

    AMsg UDF v1.00.00 IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII 100%
    OwnStyle UDF Version 1.10.00 IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII 100%

    3 Mal editiert, zuletzt von H2112 (9. August 2009 um 16:10)