[英]python converting .tif to .png without changing mode from cmyk to rgb
我想将 .tif 转换为 .png。 我发现的简单解决方案是
import Image
im = Image.open('39.tif')
im.save('39.png')
这不起作用,并给了我以下错误:
Traceback (most recent call last):
File "C:/Users/Marijus/Desktop/templates/rename.py", line 8, in <module>
im.save('Foto.png')
File "C:\Python27\lib\site-packages\PIL\Image.py", line 1441, in save
save_handler(self, fp, filename)
File "C:\Python27\lib\site-packages\PIL\PngImagePlugin.py", line 506, in _save
raise IOError, "cannot write mode %s as PNG" % mode
IOError: cannot write mode CMYK as PNG
经过一番谷歌搜索后,我发现如果我想让它工作,我必须将模式从 CMYK 更改为 RGB
if im.mode == "CMYK":
im = im.convert("RGB")
它起作用了,但是它改变了颜色。 如何在不将模式从 cmyk 更改为 rgb 的情况下从 .tif 转换为 .png ?
PNG文件只有索引,灰色,RGB和RGBA模式。 那是文件格式,所以如果您需要CMYK,请使用其他文件格式,例如TIF。
我使用下一个代码来处理 tiff
from PIL import Image, ImageSequence
image = Image.open(content)
for i, page in enumerate(ImageSequence.Iterator(image), 1):
filename = os.path.splitext(file_info.filename)
page_name = "{}_{}{}".format(filename[0], i, ".png")
page_bytes_io = io.BytesIO()
page = page.convert("RGB")
page.save(page_bytes_io, "png")
page_bytes_io.seek(0)
yield page_name, page_bytes_io, page
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.