Hallo aus Rostock !
Ich fange gerade an mich mit Python zu beschäftigen. Und natürlich gibt es Probleme. Zurzeit folendes:
Ich möchte ein jpg Bild öffnen die Grösse ändern und es im Browser anzeigen lassen. (Eigentlich soll es erst in einer MySQL Datenbank gespeichert werden aber den Teil hab ich zu testzwecken erstmal weggelassen.) Problem: das Bild wird in der Größe nicht verändert und
es wird auch farblich falsch dargestellt.
Hier mein Code:
#!C:\Python22\python #-- Windows....
import cgitb; cgitb.enable()
import cgi
import Image as image
import MySQLdb as sql
import cStringIO
print "Content-Type: image/jpeg"
print
im = image.open(r"C:\Python22\galerie.jpg")
x = im.size[0]
y = im.size[1]
x*= 2
y*= 2
im.thumbnail((x,y)) #-- resize((x,y)) hilft auch nicht
picout = cStringIO.StringIO()
im.save(picout,"JPEG")
print sql.Binary(picout.getvalue())
Vielleicht ist es auch der ganz falsche Weg ?? Ich bin wie gesagt absoluter
Anfänger und wäre für jede Art von Hilfe dankbar
hades
Python und Bilder
-
- Gründer
- Beiträge: 410
- Registriert: Dienstag 30. Juli 2002, 18:03
- Wohnort: Oestrich-Winkel
- Kontaktdaten:
-> Versachoben nach Netzwerke. Ist so ein Zwiespalt bei dem Thema. Ist eigentlich beides, aber CGI ist hier besser aufgehoben.
Evtl hilft dir bei dem Problem die PythonImageLibrary (PIL) weiter. gehört leider nicht zum Leiferumfang, und muss extern eingebunden werden, aber damit sind Bildmanipulationen ohne viel Schnick schnack möglich. Evtl. hilft's ja.
URL: http://www.pythonware.com/products/pil/
(Commecial ist nur der Support, verwenden kann man Frei.)
Warum sql.binary? Jetzt bin ich derjenige der mal fragen muss. Verstehe ich nicht ganz. Das Bild wird doch von der Platte gelesen?print sql.Binary(picout.getvalue())
Evtl hilft dir bei dem Problem die PythonImageLibrary (PIL) weiter. gehört leider nicht zum Leiferumfang, und muss extern eingebunden werden, aber damit sind Bildmanipulationen ohne viel Schnick schnack möglich. Evtl. hilft's ja.
URL: http://www.pythonware.com/products/pil/
(Commecial ist nur der Support, verwenden kann man Frei.)
irc: #python.de @ irc.freenode.net | [url=http://pythonwiki.pocoo.org]python-wiki[/url] | [url=http://www.pythonwiki.de/PythonDeForum/Faq]python-forum FAQ[/url]
Warum sql.binary?print sql.Binary(picout.getvalue())
das sql.Binary kann natürlich weggelassen werden...
ändert jedoch nichts an der Ausgabe.
Die PIL hab ich bereits installiert. Ich habe jedoch festgestellt, daß dass
Script auf einem Linux Server einwandfrei funktioniert. Nur lokal unter Windows gibt es diese Schwierigkeiten.
Gibt es vielleicht einen Trick beim installieren der PIL (Ich hab einfach den Inhalt des bei der Installation entstehenden Ordners 'Py22' nach Python kopiert ....

Ich bin noch hoffend....
hades