SirVolper
Сен. 19, 2014 16:25:12
Здравствуйте, решил основательно начать изучать python. Вот никак не могу решить одну проблему, но сначала суть работы: Нужно сделать анимацию фигуры в окне с отскоком от границ. Задача проста и решаема(Я написал все с tkinter canvas), но все это нужно сделать не встроенными методами языка, то есть выводить все попиксельно. Плюс организовать 3 алгоритма стирания изображения:
1) Вывод спрайта изображения.
2) Вывод двумя страницами видеопамяти.
3) Вывод изображения стилем XOR.
Вывод спрайта еще можно сделать в canvas, а вот два других, на сколько я понял нет. Я начал рисовать с помощью PIL и столкнулся с проблемой, как вывести созданный мной рисунок в окно, не сохраняя каждый раз его в файл. Ничего не могу найти, помогите пожалуйста)
4kpt_II
Сен. 19, 2014 17:58:29
Можно.
Тут множество вариантов.
1. Если нужно, чтобы рисунок был кликабельным, то просто разместить на кнопке.
2. Если нет, то create_image()
Механизм:
from PIL import ImageTk
img = ImageTk.Photoimage(path_to_image)
but = Tkinter.Button(root, image=img)
P.S. Будут вопросы - пишите…
SirVolper
Сен. 20, 2014 19:05:49
4kpt_II
Можно.Тут множество вариантов.1. Если нужно, чтобы рисунок был кликабельным, то просто разместить на кнопке.2. Если нет, то create_image()Механизм:
Спасибо, но это немного не то. Я так уже делал, но дело в том что изображение перед этим сохраняется, потом открывается а потом только выводится. А мне нужно напрямую. Может есть какая функция которая просто выводит пиксель в указанных координатах, но при этом можно менять свойства пикселя? Может я не те модули выбрал?
4kpt_II
Сен. 20, 2014 20:21:03
Можно. Передавайте в качестве объекта image объект.
Код:
from PIL import ImageTk, Image
my_img = Image.open(path_to_image)
# operation with my_img
img = ImageTk.Photoimage(my_img)
but = Tkinter.Button(root, image=img)
SirVolper
Сен. 21, 2014 14:44:21
4kpt_II
Можно. Передавайте в качестве объекта image объект.Код:
Спасибо, очень помогли. Я останусь на этом форуме)
4kpt_II
Сен. 21, 2014 14:49:25
Будем рады. В последнее время Вы самый адекватный из тех, с кем я общался