Python und Bilder

Sockets, TCP/IP, (XML-)RPC und ähnliche Themen gehören in dieses Forum
Antworten
hades
User
Beiträge: 1
Registriert: Mittwoch 5. Februar 2003, 09:43
Wohnort: Rostock

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
piddon
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.
print sql.Binary(picout.getvalue())
Warum sql.binary? Jetzt bin ich derjenige der mal fragen muss. Verstehe ich nicht ganz. Das Bild wird doch von der Platte gelesen?

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]
Gast

print sql.Binary(picout.getvalue())
Warum sql.binary?

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 .... :wink: )

Ich bin noch hoffend....

hades
Antworten