簡體   English   中英

PIL 中的 PNG 圖像質量

[英]PNG Image Quality in PIL

一直在嘗試通過應用引擎將以下 png 文件上傳到谷歌雲存儲:

在此處輸入圖片說明

在上傳之前,我通過 PIL 運行它來處理任何圖像旋轉或背景顏色的變化等

但是,通過應用程序運行 PIL 操作時,我的圖像質量非常差,即使在 python 命令行中運行相同的命令效果很好

在此處輸入圖片說明

有人有想法嗎?

對於 PIL 命令,我只是運行以下命令:

imtemp = Image.open('/[path]/logo.png')
size = max(imtemp.size[0],imtemp.size[1]) 
im = Image.new('RGBA', (size,size), (255,255,255,0))
im.paste(imtemp, ((size-imtemp.size[0])/2,(size-imtemp.size[1])/2)) 
imtemp = im 
im = Image.new('RGB', (size,size), '#FFFFFF') 
im.paste(imtemp, (0,0), imtemp) 
im.show()

已嘗試以下,但仍然沒有運氣

    imtemp = Image.open(StringIO(imagedata)).convert("RGBA")
    im = Image.new("RGB", imtemp.size, "#FFFFFF")
    im.paste(imtemp, None, imtemp)
    imageoutput = StringIO()
    im.save(imageoutput, format="PNG", quality=85, optimize=True, progressive=True)
    imageoutput = imageoutput.getvalue()

看起來您想要拍攝一個調色板圖像,可能帶有透明像素,將其投影到白色背景上,然后制作一個質量調整大小的一半大小的版本。

您可以為此使用convert()thumbnail()函數:

from PIL import Image

# Open the image and convert it to RGBA.
orig = Image.open("fresh.png").convert("RGBA")

# Paste it onto a white background.
im = Image.new("RGB", orig.size, "#ffffff")
im.paste(orig, None, orig)

# Now a quality downsize.
w, h = im.size
im.thumbnail((w / 2, h / 2), Image.ANTIALIAS)
im.show()    

當然,如果您想要原始尺寸的圖像,您可以保留thumbnail()調用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM