Bilder verkleinern

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
Xisto
User
Beiträge: 23
Registriert: Dienstag 8. Juli 2008, 09:06

Hi

ich habe ein BMP Bild mit der göße 1932 x 250 und möchte es ohne verzerung verkleinern die breite darf max 950 betragen und habe mir dazu auch die höhe berechnet. Laut PIL anleitung sollte es mit dem transform Befehl bfunktionieren, leider bekomme ich immer fehlermeldungen. Kann mir da jemand helfen.
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Dann poste doch mal den bisherigen Code und die exakte Fehlermeldung - wahrsagen können wir hier nicht ;-)
Xisto
User
Beiträge: 23
Registriert: Dienstag 8. Juli 2008, 09:06

Also hier wird mir immer gesagt das EXTENT nicht definiert ist

Code: Alles auswählen

im = Image.open('c:\\komplett\\gefiltert.bmp')
faktor = size[0] / 950
yneu = int(round(size[1]/faktor))
im = im.transform((950,yneu),EXTENT,Data=None)
im.save('C:\\komplett\\vorschau.bmp')
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Es fehlen leider die imports! Aber es ist offensichtlich, dass Du EXTENT nicht einbindest. Poste mal bitte die import Befehle oder denke darüber noch mal nach. (Betrachte es als logisches oder ;-) )
Xisto
User
Beiträge: 23
Registriert: Dienstag 8. Juli 2008, 09:06

Code: Alles auswählen

import Image, ImageOps, ImagePalette, math, ImageEnhance, App1
das ist alles was ich einbinde
BlackJack

Da ist offensichtlich kein `EXTENT` dabei, also wo soll das auch herkommen!? So einen Namen gibt's im `Image`-Modul, das müsstest Du dann aber auch explizit angeben und als ``Image.EXTENT`` schreiben.
Y0Gi
User
Beiträge: 1454
Registriert: Freitag 22. September 2006, 23:05
Wohnort: ja

Ja, in der Hinsicht ist die PIL-Doku etwas ... ungünstig geschrieben. Bin ich kürzlich auch erst drüber gestolpert.

Schau dir mal ``im.thumbnail((max_width, max_height), Image.ANTIALIAS)`` (bei dem Namen der Konstante bin ich nicht sicher) an.
Antworten