我曾在以下代码中工作过:
def getnsave(event):
widget=event.widget
x=root.winfo_rootx()+widget.winfo_x()
y=root.winfo_rooty()+widget.winfo_y()
x1=x+widget.winfo_width()
y1=y+widget.winfo_height()
formats=[('Obrázky (.png)','*.png'),('Obrázky (.jpg)','*.jpg')]
img=ImageGrab.grab().crop((x,y,x1,y1))
f=filedialog.asksaveasfile(filetypes=(("Portable Network Graphics (*.png)", "*.png"),("All Files (*.*)", "*.*")),mode='w',defaultextension='.png')
if f is None:
return
f.write(img)
f.close()
我得到了一个错误:
^{pr2}$请帮帮我。我知道,在我选择目录之后,我需要命令保存什么。你知道怎么做吗?在
要将PIL图像保存到文件中,必须使用^{} 方法。要使其正确工作,有两件事很重要:
文件必须以二进制模式打开。在
这意味着您必须在中更改
w
文件模式像这样
wb
:PIL需要知道您希望以哪种格式保存图像。可以从文件扩展名中提取格式,如下所示:
把这些放在一起:
我猜您使用的是来自
PIL
的ImageGrab
模块,即使您没有在代码片段中显示import
命令。如果PIL
处于活动状态,则可以使用以下方式编写图像:注意,
filedialog.asksaveasfile
返回文件名,而不是file对象。所以可以直接在前面的命令中使用它相关问题 更多 >
编程相关推荐