Я пытаюсь понять, что Python делает некоторые коды.Я хочу выделить часть открытого изображения с увеличением и сохранить выбранную часть.Сейчас я пытаюсь быстро сохранить открытое и увеличенное изображение нажатием клавиши.Для лучшего объяснения мне нужно запустить функцию savefig () нажатием клавиши клавиатуры.
Я пытался использовать модуль urwid:
import urwid
import PIL
import Image
im=Image.Open("fig.tif")
imshow(im)
def save(input):
if input in ('s'):
savefig("fig2.png")
И я также использовал uinput, чтобы попытаться сделать то же самое:
import uinput
import PIL
import Image
def main():
capabilities = {uinput.EV_KEY: (uinput.KEY_S)}
device = uinput.Device(name="python-uinput-keyboard", capabilities=capabilities)
if device.emit(uinput.EV_KEY, uinput.KEY_S, 1):
savefig("sat.png")
im=Image.open("fig.tif")
imshow(im)
И у меня тоже самоерезультат в этих 2 кодах, это сообщение об ошибке появилось:
Exception in Tkinter callback
Traceback (most recent call last):
File "/usr/lib/python2.6/lib-tk/Tkinter.py", line 1413, in call
return self.func(*args)
File "/usr/lib/pymodules/python2.6/matplotlib/backends/backend_tkagg.py", line 312, in key_press
FigureCanvasBase.key_press_event(self, key, guiEvent=event)
File "/usr/lib/pymodules/python2.6/matplotlib/backend_bases.py", line 1143, in key_press_event
self.callbacks.process(s, event)
File "/usr/lib/pymodules/python2.6/matplotlib/cbook.py", line 163, in process func(*args, **kwargs)
File "/usr/lib/pymodules/python2.6/matplotlib/backend_bases.py", line 1703, in key_press self.canvas.toolbar.save_figure(self.canvas.toolbar)
TypeError: save_figure() takes exactly 1 argument (2 given)
Это странно, потому что я никогда не открываю Tkinter.Пожалуйста, помогите мне с этим, Как я могу сохранить увеличенное изображение с ключевым событием?
Извините за мое невежество в Python, я очень новичок в этом.