Fotos bearbeiten

  • Hallo, ich wollte mal fragen, ob es möglich ist das man mit Autoit irgendwie fotos bearbeiten kann.
    z.B.: so wie in Paint, das man einen Pinsel auswählen kann, und dann einen Strich durch das bild zieht.

    Ich hoffe ihr versteht was ich meine.

    3 Mal editiert, zuletzt von morfi93 (27. Juni 2008 um 14:48)

  • Danke erstmal für deine schnelle Antwort, aber ich habe jetzt nicht gemeint, dass ich das Bild direkt in Paint bearbeite, sondern ob man ein Programm mit AutoIt schreiben kann, das so ähnlich ist wie Paint, damit man dann Bilder bearbeiten kann.

    Ist es jetzt verständlicher?

  • Achso :rofl:

    Kann mir das immoment nicht vorstellen... also mit den Standard-Möglichkeiten von AutoIt denke ich nicht. Vielleicht kann man es eventuell lösen, aber wie da bin ich überfragt.

  • Danke für deine Antwort.
    Ich habe auch keine Ahnung wie, deswegen habe ich ja auch gefragt^^

  • Hmm, immer auf MouseDown prüfen und dann mit _GDIPlus_GraphicsDrawLine zeichnen.
    Das ganze in einem Puffer-Bild machen und dann mit _SetBitmapToCtrl neu setzen :)
    So in etwa:

    [autoit]

    $pBitmap = _GDIplus_ImageLoadFromFile
    $sGraphics = _GDIPlus_ImageGetGraphicsContext
    _GDIPlus_GraphicsDrawLine($sGraphics
    $hBitmap = _GDIPlus_BitmapCreateHBITMAPFromBitmap($pBitmap)
    _SetBitmapToCtrl($CtrlId, $hBitmap)

    [/autoit]


    _SetBitmapToCtrl ist hier mit drin: http://www.autoitscript.com/forum/index.php?showtopic=51103

  • Hey, danke für eure Hilfe,
    aber ich habe gerade in der AutoIt Hilfe gefunden, das man es auch so lösen kann ( ohne _SetBitmapToCtrl ).

    Hier ein kleines Beispiel:

    Spoiler anzeigen
    [autoit]

    #include <GuiConstantsEx.au3>
    #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, $hGraphics

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

    ; Initialize GDI+ library
    _GDIPlus_Startup ()

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

    ; Capture full screen
    $hBitmap1 = _ScreenCapture_Capture ("")
    $hImage1 = _GDIPlus_BitmapCreateFromHBITMAP ($hBitmap1)

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

    ; Capture screen region
    $hBitmap2 = _ScreenCapture_Capture ("", 0, 0, 400, 300)
    $hImage2 = _GDIPlus_BitmapCreateFromHBITMAP ($hBitmap2)

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

    ; Draw one image in another
    $hGraphics = _GDIPlus_ImageGetGraphicsContext ($hImage1)
    _GDIPlus_GraphicsDrawImage ($hGraphics, $hImage2, 100, 100)

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

    ; Draw a frame around the inserted image
    _GDIPlus_GraphicsDrawRect ($hGraphics, 100, 100, 400, 300)

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

    ; Save resultant image
    _GDIPlus_ImageSaveToFile ($hImage1, @MyDocumentsDir & "\GDIPlus_Image.jpg")

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

    ; Clean up resources
    _GDIPlus_ImageDispose ($hImage1)
    _GDIPlus_ImageDispose ($hImage2)
    _WinAPI_DeleteObject ($hBitmap1)
    _WinAPI_DeleteObject ($hBitmap2)

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

    ; Shut down GDI+ library
    _GDIPlus_ShutDown ()

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

    EndFunc ;==>_Main

    [/autoit]