Seite 1 von 1

Bilder verkleinern

Verfasst: Dienstag 5. August 2008, 09:55
von Xisto
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.

Verfasst: Dienstag 5. August 2008, 10:03
von Hyperion
Dann poste doch mal den bisherigen Code und die exakte Fehlermeldung - wahrsagen können wir hier nicht ;-)

Verfasst: Dienstag 5. August 2008, 10:12
von Xisto
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')

Verfasst: Dienstag 5. August 2008, 10:25
von Hyperion
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 ;-) )

Verfasst: Dienstag 5. August 2008, 12:05
von Xisto

Code: Alles auswählen

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

Verfasst: Dienstag 5. August 2008, 12:17
von 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.

Verfasst: Mittwoch 13. August 2008, 11:51
von Y0Gi
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.