作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想将 PIL.ImageTk.PhotoImage 保存到文件中。我的方法是创建一个“打开”文件并调用“写入”方法,但它不起作用,因为我不知道如何从对象获取字节数组。
def store_temp_image(data, image):
new_file_name = data.number + ".jpg"
with open(os.path.join("/tmp/myapp", new_file_name), mode='wb+') as output:
output.write(image)
错误信息如下:
TypeError: a bytes-like object is required, not 'PhotoImage'
我通常会找到将 ImageTk 对象转换为 PIL 对象的方法,但反之则不然。从文档中我也无法得到任何提示。
最佳答案
您可以先使用ImageTk.getimage()函数(向下滚动,接近末尾)获取 PIL Image,然后使用其 save() 方法:
def store_temp_image(data, imagetk):
# do sanity/validation checks here, if need be
new_file_name = data.number + ".jpg"
imgpil = ImageTk.getimage( imagetk )
imgpil.save( os.path.join("/tmp/myapp", new_file_name), "JPEG" )
imgpil.close() # just in case (not sure if save() also closes imgpil)
关于python - 如何将 PIL.ImageTk.PhotoImage 保存为 jpg,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45440746/
我是一名优秀的程序员,十分优秀!