Ich nehme eine Bilddatei und thumbnaile und beschneide sie mit dem folgenden PIL-Code:
%Vor%Das funktioniert großartig, außer wenn das Bild nicht das gleiche Seitenverhältnis hat, wird der Unterschied mit einer schwarzen Farbe (oder vielleicht einem Alpha-Kanal?) ausgefüllt. Mir geht es gut mit der Füllung, ich möchte nur die Füllfarbe auswählen - oder besser noch einen Alpha-Kanal.
Ausgabebeispiel:
Wie kann ich die Füllfarbe angeben?
Ich habe den Code ein wenig geändert, damit Sie Ihre eigene Hintergrundfarbe einschließlich Transparenz festlegen können. Der Code lädt das angegebene Bild in ein PIL.Image-Objekt, generiert das Miniaturbild aus der angegebenen Größe und fügt das Bild anschließend in eine andere, vollformatige Oberfläche ein. (Beachten Sie, dass das für die Farbe verwendete Tupel auch ein beliebiger RGBA-Wert sein kann, ich habe gerade Weiß mit einer Alpha / Transparenz von 0 verwendet.)
%Vor% Es ist ein wenig einfacher, paste
des vergrößerten Miniaturbildes auf ein neues Bild zu setzen, das ist die gewünschte Farbe (und der Alpha-Wert).
Sie können ein Bild erstellen und seine Farbe in einem RGBA
Tupel wie folgt angeben:
Hier gibt es keine Transparenz, da das Alpha-Band auf 255 eingestellt ist. Aber der Hintergrund wird rot sein. Mit diesem Bild können wir Thumbnails mit folgender Farbe erstellen:
Wenn wir das Alpha-Band auf 0
setzen, können wir paste
auf ein transparentes Bild setzen und erhalten:
Beispielcode:
%Vor%Tags und Links python-imaging-library