Найти - Пользователи
Полная версия: Вывод картинки на канвасе
Начало » GUI » Вывод картинки на канвасе
1
ilnur
здравствуйте

1. есть изображение. размером 1280х720, есть канвас с размером 360х640. хочу вывести на канвас часть этой картинки - 920,0,1280,640. подскажите как это делать.

2. пока пробую просто вывести картинку на канвасе. но что-то не получается.
import Tkinter, Image
main_window=Tkinter.Tk()
canvas=Tkinter.Canvas(main_window, height=640, width=360, bg="lightblue")
canvas.pack()
a=Image.open('c:\splash.jpg')
canvas.create_image(0,0,image=a)
main_window.mainloop()
но вылазит ошибка
>>>

Traceback (most recent call last):
File “D:\Ильнур\Мои документы\Desktop\PCcanvas.py”, line 8, in <module>
canvas.create_image(0,0,image=a)
File “C:\Python27\lib\lib-tk\Tkinter.py”, line 2198, in create_image
return self._create('image', args, kw)
File “C:\Python27\lib\lib-tk\Tkinter.py”, line 2189, in _create
*(args + self._options(cnf, kw))))
TclError: image “<JpegImagePlugin.JpegImageFile image mode=RGB size=360x487 at 0x2D20D78>” doesn't exist
>>>
чего не хватает у меня в коде

в системе вроде этот файл никем не открыт
ilnur
вроде получилось. правильно ли я сделал
по первому вопросу
canvas.create_image(-100,-200,image=a,anchor="nw")
по второму вопросу
import Tkinter, ImageTk, Image
main_window=Tkinter.Tk()
canvas=Tkinter.Canvas(main_window, height=640, width=360, bg="lightblue")
b=Image.open('c:\\splash.jpg')
a=ImageTk.PhotoImage(b)
canvas.create_image(0,0,image=a,anchor="nw")
canvas.pack()
main_window.mainloop()
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB