2 回答

TA貢獻1789條經驗 獲得超8個贊
您需要先將 PNG 從 RGBA 轉換為 RGB。Png 有一個額外的 alpha 通道,因此是 RGBA。RGBA 是 32 位的,而 RGB 是 24 位的。正如這里提到的
示例代碼:
from PIL import Image
PNG_FILE = 'a.png'
PDF_FILE = 'b.pdf'
rgba = Image.open(PNG_FILE)
rgb = Image.new('RGB', rgba.size, (255, 255, 255))? # white background
rgb.paste(rgba, mask=rgba.split()[3])? ? ? ? ? ? ? ?# paste using alpha channel as mask
rgb.save(PDF_FILE, 'PDF', resoultion=100.0)

TA貢獻1806條經驗 獲得超8個贊
您需要先將 PNG 從 RGBA 轉換為 RGB,如下所示:
from PIL import Image
PNG_FILE = 'image.png'
PDF_FILE = 'doc.pdf'
rgba = Image.open(PNG_FILE)
rgb = Image.new('RGB', rgba.size, (255, 255, 255))? # white background
rgb.paste(rgba, mask=rgba.split()[3])? ? ? ? ? ? ? ?# paste using alpha channel as mask
rgb.save(PDF_FILE, 'PDF', resoultion=100.0)
添加回答
舉報