Bild öffnen und zwischen zwei Punkten Linie zeichnen

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Benutzeravatar
Terrahawk
User
Beiträge: 5
Registriert: Mittwoch 10. August 2011, 10:09
Kontaktdaten:

Hallo Leute

Mein Vorhaben: Vorhandenes Bild öffnen und zwischen zwei xy Koordinaten eine Linie zeichnen.

Ich bin auf der Suche nach einer geeigneten Libary... ich habe jetzt schon eine Weile gesucht aber nicht wirklich etwas geeignetes gefunden.
Aktuell versuche ich mich mit diesem Ansatz aus der Doku http://www.pythonware.com/library/pil/h ... gedraw.htm

Code: Alles auswählen

img = Image.open(image)

        draw = ImageDraw.Draw(img)
        draw.line(xy1, fill="red", width=1)
        draw.line(xy2, fill="red", width=1)
        del draw

        # write to stdout
        img.save(sys.stdout, "JPEG")
Das Ergebnis sind kryptische Zeichen in der Konsole? Ich weisst nicht Python ist Neuland für mich ist das normal? Gezeichnet wird jedenfalls nichts?! Die Linie wird nicht gezeichnet... hat wer Tipps oder Ratschläge?

Gruß Terrahawk
Benutzeravatar
/me
User
Beiträge: 3555
Registriert: Donnerstag 25. Juni 2009, 14:40
Wohnort: Bonn

Terrahawk hat geschrieben:

Code: Alles auswählen

        # write to stdout
        img.save(sys.stdout, "JPEG")
Das Ergebnis sind kryptische Zeichen in der Konsole? Ich weisst nicht Python ist Neuland für mich ist das normal?
Du gibst das Bild doch explizit auf sys.stdout (also die Konsole) aus, dann ist es natürlich völlig normal, dass da merkwürdige Zeichen bei herauskommen. Du möchtest es wahrscheinlich eher in eine Datei schreiben, oder?
Benutzeravatar
Terrahawk
User
Beiträge: 5
Registriert: Mittwoch 10. August 2011, 10:09
Kontaktdaten:

Genauso ist es... stimmt habe ich die ganze Zeit gar nicht gesehen :oops:

Code: Alles auswählen

img.save(image, "JPEG") #die var image beinhaltet den pfad zum bild

Wenn ich das korrekt sehe

Code: Alles auswählen

def save(self, fp, format=None, **params):
dann sollte mein Ansatz nun korrekt sein? Es geschieht zwar immer noch nichts. Evtl. falsche Übergabe. Aber grundsätzlich sollte das nun funktionieren?
CM
User
Beiträge: 2464
Registriert: Sonntag 29. August 2004, 19:47
Kontaktdaten:

Poste doch mal ein Minimalbeispiel, das den Fehler zeigt.
Antworten