[gelöst] Hochkant Bilder richtig skalieren [PIL]
Verfasst: Mittwoch 6. August 2008, 19:51
				
				Hallo!
Ich habe ein kleines Problem in meinem ersten Python/PyGtk-Projekt.
Ich habe ein kleines Programm geschrieben, welches alle JPG/jpg Fotos eines Verzeichnises mit Hilfe von PIL (PythonImagingLibrary, http://www.pythonware.com/products/pil) auf 640x480 saklliert und Thumbnails erzeugt und dann eine kleine Web-Gallerie anlegt.
Jedoch habe ich jetzt das Problem, dass PIL auch Hochkant Bilder auf 640x480 verzerrt.
Gibt es eine Möglichkeit, wie man entweder:
* nur einen Wert (Höhe oder Breite) angeben kann und der Andere dann automatisch berrechnet wird
oder:
* wie Python erkennen kann ob ein Foto im Hochkant-Format ist, damit ich es vor dem skallieren drehen kann.
Ich bin um jede Hilfe dankbar.
Slyon
			Ich habe ein kleines Problem in meinem ersten Python/PyGtk-Projekt.
Ich habe ein kleines Programm geschrieben, welches alle JPG/jpg Fotos eines Verzeichnises mit Hilfe von PIL (PythonImagingLibrary, http://www.pythonware.com/products/pil) auf 640x480 saklliert und Thumbnails erzeugt und dann eine kleine Web-Gallerie anlegt.
Jedoch habe ich jetzt das Problem, dass PIL auch Hochkant Bilder auf 640x480 verzerrt.
Gibt es eine Möglichkeit, wie man entweder:
* nur einen Wert (Höhe oder Breite) angeben kann und der Andere dann automatisch berrechnet wird
oder:
* wie Python erkennen kann ob ein Foto im Hochkant-Format ist, damit ich es vor dem skallieren drehen kann.
Ich bin um jede Hilfe dankbar.
Slyon
Code: Alles auswählen
	def resize(self,folder):
		self.pics = []
		self.pics_JPG = glob.glob(self.folder+"/*.JPG")
		self.pics.extend(self.pics_JPG)
		if os.name != "nt":
			self.pics_jpg = glob.glob(self.folder+"/*.jpg")
			self.pics.extend(self.pics_jpg)
		self.pics.sort()
		n = 1
		for i in self.pics:
			imageFile = i
			img = Image.open(imageFile)
			width = 640
			height = 480
			img_new = img.resize((width, height))
			img_new.save(self.folder+"/album/medium/"+str(n)+".jpg")
			n += 1