from PIL import Image
img = Image.open('1.png')
img.save('2.png')
ilk görüntü saydam arka planı kaydetmez, ama bunu kaydederken, şeffaflık yanlış yapıyorumPIL şeffaflık
(arka plan beyazdır) gitti?
from PIL import Image
img = Image.open('1.png')
img.save('2.png')
ilk görüntü saydam arka planı kaydetmez, ama bunu kaydederken, şeffaflık yanlış yapıyorumPIL şeffaflık
(arka plan beyazdır) gitti?
Muhtemelen görüntü dizine eklenir (PIL'de "P" modu), dolayısıyla saydamlık PNG alfa kanalı içinde değil, meta veri bilgisinde ayarlanır.
yapabilirsiniz aşağıdaki kodla şeffaf arka plan paleti dizini olsun: Eğer sahip olduğunu bilgi görmek için incelemek böylece
from PIL import Image
img = Image.open('1.png')
png_info = img.info
img.save('2.png', **png_info)
görüntü bilgisi, bir sözlük geçerli:
örn: Eğer Eğer şöyle bir çıktı elde edecektir yazdırmak aşağıdadır:
bilgi yoktur orijinal PNG oluşturulan alet bağlı olarak değişebilir, ama ne önemli olduğuna inanılmaktadır olacak kurtardı{'transparency': 7, 'gamma': 0.45454, 'dpi': (72, 72)}
Burada sizin için t "şeffaflık" anahtarıdır. Örnekte palet indeksi "7" nin şeffaf olarak ele alınması gerektiğini söylüyor.
Hep İşe yaradı
img = Image.open('1.png')
img.convert('RGBA')
img.save('2.png')
Tabii ki, ama bu şekilde, orijinaliyle aynı görüntüyü üretmeyecek, formattan itibaren. –
+1. Ahh evet, çok doğru Lucas S. –
, türünü "RGBA" zorlayabilir, teşekkür ederim! Yine de, bu özelliklerin otomatik olarak kaydedilmemesi garip. –