Bildbearbeitungstutorial für Python 3 gesucht

Fragen zu Tkinter.
Antworten
sonyfriend
User
Beiträge: 14
Registriert: Sonntag 24. Januar 2010, 23:32

Hallo zusammen!

Ich hätte mal eine Frage zu den Grundfunktionen für die Grafikbearbeitung in Python 3:
Wenn ich mich nicht irre, ist das, was da unten steht in python 2.x geschrieben. Funktioniert aber nicht mit python 3.x, der fängt ja schon in der ersten Zeile an zu meckern. Ich habe jetzt wirklich jede Menge gegoogelt, aber finden konnte ich dazu nichts.
Kennt jemand vielleicht ein Tutorial in Python 3.x, was die Basics in der Bildbearbeitung behandelt (ausschneiden, verkleinern,rotieren, Änderungen speichern etc.)?




import Image

# open images
imf = Image.open("101.gif")
ims = Image.open("102.gif")

# tell us the image properties
print imf.format, imf.size, imf.mode

# save the image under a new name
imf.save("ausgabe.gif")

# remember, it's width, then height
size = 128, 64
mode = 'RGB'

box = (0, 0, 64, 64)

# create an new image with the size and color previous defined
imn = Image.new(mode, size)

# get content of picture one
region = imf.crop(box)

# and past it to the new image
imn.paste(region, box)

# after get content of picture two
region = ims.crop(box)

# Zielbereich definieren, ist ja nun um 64 Pixel verschoeben
# move picture to an other place in the new picture
box = (64, 0, 128, 64)

# and paste it in the new picture
imn.paste(region, box)


# finally sage the new image
imn.save("zusammengesetzt.png")

# and make it smaller, just half the size
imn = imn.resize((64, 32))
imn.save("kleiner.png")

# notice, there are no methods to close an opened image
sonyfriend
User
Beiträge: 14
Registriert: Sonntag 24. Januar 2010, 23:32

Oder braucht man dazu die Python Imaging Library (PIL), die es für die Version 3 noch nicht gibt?
EyDu
User
Beiträge: 4881
Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin

Hallo.

Ja, das ist eindeutig PIL. Aber was hindert dich daran Python 2.x zu benutzen bis es PIL für 3 gibt? Auf deren Seite gibt es übrigens auch die dazugehörige Dokumentation mit Tutorial.

Sebastian
Das Leben ist wie ein Tennisball.
sonyfriend
User
Beiträge: 14
Registriert: Sonntag 24. Januar 2010, 23:32

Auweia, also kann ich das knicken?!
Das Problem ist, ich soll mit Python 3 arbeiten und damit ein Programm schreiben. Daß die 3er Version noch so unfertig ist, hätte ich aber nicht gedacht.
Naja, auf jeden Fall danke! Ich hätte sonst noch einen ganzen langen Nachmittag damit verbracht, wie man das zum laufen kriegt.......
EyDu
User
Beiträge: 4881
Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin

Das Problem ist weniger, dass Python 3 nicht fertig ist, sondern dass noch nicht alle Fremdbibliotheken angepasst wurden.

Wenn du eine Aufgabenstellung brauchst, dann kannst du diese hier auch zur Diskussion stellen. Wenn du deinen aktuellen Kenntnisstand und den gewünscht Aufwand mitteilst, dann wird sich sicher etwas interessantes finden lassen.
Das Leben ist wie ein Tennisball.
sonyfriend
User
Beiträge: 14
Registriert: Sonntag 24. Januar 2010, 23:32

EyDu!
Es geht weniger um eine Aufgabe finden, die habe ich schon in Form einer Abschlußarbeit. Aber da Python 3 noch ziemlich neu ist und auf allen PCs im Rechnerraum Python 2.x installiert ist, weiß das natürlich niemand.

Gibt's denn wenigstens dieses Tkinter für 3.x?
BlackJack

@sonyfriend: Warum muss es denn unbedingt Python 3 sein? Ich denke mal eher, dass eine Abschlussarbeit ein *Thema* hat, und nicht eine spezielle Version einer Programmiersprache!?
sonyfriend
User
Beiträge: 14
Registriert: Sonntag 24. Januar 2010, 23:32

Kleines Update: ich darf auf Python 2.5 downgraden. Weiterer Vorteil: Dafür gibt's auch viel mehr Tutorials. :D
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

sonyfriend hat geschrieben:Weiterer Vorteil: Dafür gibt's auch viel mehr Tutorials. :D
Aber kein deutsches :twisted:
Benutzeravatar
/me
User
Beiträge: 3561
Registriert: Donnerstag 25. Juni 2009, 14:40
Wohnort: Bonn

sonyfriend hat geschrieben:Kleines Update: ich darf auf Python 2.5 downgraden.
2.6 kam nicht in Frage?

Diese "entweder ganz neu oder ein Stück älter"-Vorschrift ist irgendwie merkwürdig.
BlackJack

@/me: Finde ich nicht merkwürdig. Das wird wahrscheinlich die Version sein, die entweder beim Lehrer, oder auf den Schulrechnern installiert ist.

Ich persönlich "hänge" auch noch bei 2.5 weil die auf den meisten Rechnern die ich benutze, die Standardversion von der Distribution ist und ich auch nicht bei allen die Rechte habe etwas anderes zu installieren. Oder auch nur die Lust. Ausserdem ist bei mir relativ aktuell Jython zu den Varianten hinzugekommen, mit denen ich Software schreiben muss, und das ist bei Version 2.5. (Naja, stimmt nicht ganz -- ich *hätte* da auch die Freiheit Java zu verwenden. ;-))
Benutzeravatar
/me
User
Beiträge: 3561
Registriert: Donnerstag 25. Juni 2009, 14:40
Wohnort: Bonn

BlackJack hat geschrieben:@/me: Finde ich nicht merkwürdig. Das wird wahrscheinlich die Version sein, die entweder beim Lehrer, oder auf den Schulrechnern installiert ist.
Ich verstehe ja Punkte wo es um bestehende Infrastruktur geht.

Hier aber wäre ja offensichtlich auch Python 3.1 möglich gewesen und da hätte ich dann doch etwas mehr Wahlfreiheit erwartet.
sonyfriend
User
Beiträge: 14
Registriert: Sonntag 24. Januar 2010, 23:32

Auf den Rechnern wird 2.6 glaub ich benutzt, aber ich hab mir 2.5 gezogen, weil 2.6 doch recht neu ist. Wer weiß, was es da alles wieder nicht gibt.

Naja, wer viel mit Graphen zu tun hat, dem empfehle ich diese Seite: http://matplotlib.sourceforge.net/gallery.html

Dort gibt's zu jedem Screenshot auch den zugehörigen Code.
Benutzeravatar
jbs
User
Beiträge: 953
Registriert: Mittwoch 24. Juni 2009, 13:13
Wohnort: Postdam

@BlackJack

Wie lautet denn die Aufgabenstellung? Entwickle ein Java-Programm...?
[url=http://wiki.python-forum.de/PEP%208%20%28%C3%9Cbersetzung%29]PEP 8[/url] - Quak!
[url=http://tutorial.pocoo.org/index.html]Tutorial in Deutsch[/url]
BlackJack

@jbs: Dann hätte ich ja kaum Jython wählen können. ;-)

Nein, es gibt halt einfach vorhandene Java-Komponenten, die benutzt werden müssen. Und das ist angenehmer von Jython aus, als von Java aus. IMHO. Ich hätte ja auch gerne mal mit Scala in Produktionscode rumgespielt, aber das dürfte dem Auftraggeber zu exotisch sein. Python kann er zur Not nämlich selber noch, falls ich vom Bus überfahren werde. :-)
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

sonyfriend hat geschrieben:Auf den Rechnern wird 2.6 glaub ich benutzt, aber ich hab mir 2.5 gezogen, weil 2.6 doch recht neu ist. Wer weiß, was es da alles wieder nicht gibt.
Da kannst du beruhigt sein, 2.6 ist mit 2.5 kompatibel und die meisten Libs mit C-Sourcen o.ä. sind fuer 2.6 vorkompiliert verfügbar.
Benutzeravatar
/me
User
Beiträge: 3561
Registriert: Donnerstag 25. Juni 2009, 14:40
Wohnort: Bonn

sonyfriend hat geschrieben:Auf den Rechnern wird 2.6 glaub ich benutzt, aber ich hab mir 2.5 gezogen, weil 2.6 doch recht neu ist.
16 Monate fällt nicht unter meine Definition von "recht neu", aber wenn du mit der 2.5 glücklich bist ist es ja gut.
Antworten