Belge profilinin neden bir ürün üzerinde değiştirildiğini, ölçeklendirilip PIL ile kaydedilemediğini anlayamıyorum. Renk profili olarak sRGB olan ve etiketsiz RGB'yi içeren bir görüntüyle test ettiniz. Python PIL - kırpma sırasında etiketlenmemiş RGB'ye renk profilini değiştirme, ölçeklendirme ve kaydetme
def scale(self, image):
images = []
image.seek(0)
try:
im = PIL.open(image)
except IOError, e:
logger.error(unicode(e), exc_info=True)
images.append({"file": image, "url": self.url, "size": "original"})
for size in IMAGE_WEB_SIZES:
d = cStringIO.StringIO()
try:
im = crop(image, size["width"], size["height"])
im.save(d, "JPEG")
images.append({"file": d, "url": self.scale_url(size["name"]), "size": size})
except IOError, e:
logger.error(unicode(e), exc_info=True)
pass
return images
Ben PIL orijinal görüntü olduğu aynı renk profiliyle ölçekli sürümünü kaydetmek için almaya çalışıyorum.
DÜZENLEME: Buna göre o http://comments.gmane.org/gmane.comp.python.image/3215 mümkün olmalı, ama yine de PIL 1.1.7
Bağlantılı tartışmanın ilk yanıtında belirtilen yamaya baktınız mı? Renk profili korumasının çalışması için gereklidir, sadece PIL sürümünün güncellenmesi yeterli değildir (aşağıdaki cevabımda 1.1.7'yi kullanmıştım ve aynı sorunu vardı). – mgibsonbr
@mgibsonbr Gördüğüm gibi Florian Hoech tarafından yapılan hackte Readme dosyasına göre başka bir kütüphaneye ihtiyaç yoktur. Ve 1.1.7'de, hack, http://hg.effbot.org/pil-117/commits/03e996c3b271fd3dabb008a8c694b82e3e6c5917 – Christoffer