Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » GUI
  • » pyGTK: как сохранить нарисованное в DrawingArea в файл [RSS Feed]

#1 Март 17, 2011 15:51:45

jozheg
От:
Зарегистрирован: 2011-03-17
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

pyGTK: как сохранить нарисованное в DrawingArea в файл

Недавно начал изучать PyGTK. Сейчас передо мной встала следующая проблема:
у меня есть ScrolledWindow с Viewport с DrawingArea, в которой я рисую с помощью cairo.
Хотелось бы сохранить нарисованное в файл, однако как сделать, чтобы сохранилось все изображение (а не только та часть, которая видна в Viewport), я не догадался.



Офлайн

#2 Март 18, 2011 20:38:32

leonid_10
От:
Зарегистрирован: 2010-03-28
Сообщения: 197
Репутация: +  3  -
Профиль   Отправить e-mail  

pyGTK: как сохранить нарисованное в DrawingArea в файл

surface = cairo.ImageSurface(cairo.FORMAT_ARGB32, w, h)
cr = cairo.Context(surface)

код того, что нарисовал

surface.write_to_png('curve_1.png')



Офлайн

#3 Март 19, 2011 18:48:47

jozheg
От:
Зарегистрирован: 2011-03-17
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

pyGTK: как сохранить нарисованное в DrawingArea в файл

leonid_10
surface = cairo.ImageSurface(cairo.FORMAT_ARGB32, w, h)
cr = cairo.Context(surface)

код того, что нарисовал

surface.write_to_png('curve_1.png')
Спасибо большое.
А не подскажете ли как рисовать одновременно и в области DrawingArea (чтобы не делать это отдельно для сохранения и отображения), т.е. как по-простому прикрепить этот CairoContext к DrawingArea.



Офлайн

#4 Март 19, 2011 20:22:33

leonid_10
От:
Зарегистрирован: 2010-03-28
Сообщения: 197
Репутация: +  3  -
Профиль   Отправить e-mail  

pyGTK: как сохранить нарисованное в DrawingArea в файл

jozheg
А не подскажете ли как рисовать одновременно и в области DrawingArea (чтобы не делать это отдельно для сохранения и отображения), т.е. как по-простому прикрепить этот CairoContext к DrawingArea.
Я не знаю. Я использую wx. Хотя, насколько я смог вникнуть, GTK имеет такую возможность. Посмотрите демки PyGame, там каиро рисует в окне и сохраняет в одной функции. Какая-то строчка должна превратить DrawingArea в surface
Мне не понравилась GTK как раз отсутствием информации о работе с графикой. Wx, напротив, имеет кучу примеров и мощный инструмент GCDC - помимо рисования можно так же и конвертировать в несколько форматов картинки. Я могу рисовать с помощью каиро, а картинки при этом получать GIF, JPG



Офлайн

#5 Дек. 13, 2011 03:24:25

Chrizt
От: Владивосток
Зарегистрирован: 2009-07-18
Сообщения: 88
Репутация: +  0  -
Профиль   Отправить e-mail  

pyGTK: как сохранить нарисованное в DrawingArea в файл

попробуйте:

im = cr.get_target()
im.write_to_png("1.png")



Офлайн

  • Начало
  • » GUI
  • » pyGTK: как сохранить нарисованное в DrawingArea в файл[RSS Feed]

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version