Уведомления

Группа в Telegram: @pythonsu

#1 Авг. 13, 2007 23:26:33

Oz
От:
Зарегистрирован: 2007-07-27
Сообщения: 15
Репутация: +  0  -
Профиль   Отправить e-mail  

Люди помогите Новичку

Как сделать снимок экрана С помощью Python ( какие функсии это делают )



Офлайн

#2 Авг. 14, 2007 01:39:28

slivlen
От:
Зарегистрирован: 2006-07-06
Сообщения: 764
Репутация: +  0  -
Профиль   Отправить e-mail  

Люди помогите Новичку

С помощью PyGTK можно. А вообще, не дурно было бы указать под какую ОС это требуется :)



Офлайн

#3 Авг. 14, 2007 06:56:28

pythonwin
От:
Зарегистрирован: 2006-07-18
Сообщения: 1294
Репутация: +  0  -
Профиль   Отправить e-mail  

Люди помогите Новичку

slivlen
С помощью PyGTK можно.
а можно пример или ссылку?
думаю нужен не pygtk, а Tkinter

PS в принципе можно через os.popen или os.systems вызывать программу снимков экрана



Отредактировано (Авг. 14, 2007 07:00:17)

Офлайн

#4 Авг. 14, 2007 07:09:44

pythonwin
От:
Зарегистрирован: 2006-07-18
Сообщения: 1294
Репутация: +  0  -
Профиль   Отправить e-mail  

Люди помогите Новичку

Модератор: Название темы должно отражать ее суть!



Отредактировано (Авг. 14, 2007 07:09:59)

Офлайн

#5 Авг. 14, 2007 10:02:59

slivlen
От:
Зарегистрирован: 2006-07-06
Сообщения: 764
Репутация: +  0  -
Профиль   Отправить e-mail  

Люди помогите Новичку

pythonwin
а можно пример или ссылку?
Можно
#!/usr/bin/env python
import gtk
def get_screenshot():
    screenshot = gtk.gdk.Pixbuf(gtk.gdk.COLORSPACE_RGB, 0, 8,
                                gtk.gdk.screen_width(),
                                gtk.gdk.screen_height())
    screenshot.get_from_drawable(gtk.gdk.get_default_root_window(),
                                 gtk.gdk.colormap_get_system(),
                                 0, 0, 0, 0, gtk.gdk.screen_width(),
                                 gtk.gdk.screen_height())
    screenshot.save('screenshot.png', 'png') # Надо только если требуется сохранить скрин в файл
    return screenshot
scrshot = get_screenshot()
win = gtk.Window(gtk.WINDOW_TOPLEVEL)
win.connect('destroy', gtk.main_quit)
imgViewer = gtk.Image()
imgViewer.set_from_pixbuf(scrshot)
win.add(imgViewer)
win.show_all()
gtk.main()
В идеале сюда надо добавить маштабирование изображения под размер виджета в котором оно отображается, но тогда пример слишком большой получится :)



Офлайн

#6 Авг. 14, 2007 10:20:34

slivlen
От:
Зарегистрирован: 2006-07-06
Сообщения: 764
Репутация: +  0  -
Профиль   Отправить e-mail  

Люди помогите Новичку

Oz
Прежде чем задавать вопросы на этом форуме прочитай правила.



Офлайн

#7 Авг. 15, 2007 00:05:32

Oz
От:
Зарегистрирован: 2007-07-27
Сообщения: 15
Репутация: +  0  -
Профиль   Отправить e-mail  

Люди помогите Новичку

С пасибо конечно за помощь .
А с Tkinter такое можно сделать .
Помогите пожалуйста .
———————————-
У меня WinXP ,PythonWin 2.3.5, Tkinter , как с делать снимок экрана и сохранить его в графический файл



Офлайн

#8 Авг. 22, 2007 11:51:51

player
От:
Зарегистрирован: 2007-08-09
Сообщения: 24
Репутация: +  0  -
Профиль   Отправить e-mail  

Люди помогите Новичку

Есть еще одно решение (можно сказать альтернативное)
Библиотека называеться PIL (Python Image Library)
Вот пример кода как можно получить screenshot экрана:

>>> from PIL import ImageGrab
>>> im = ImageGrab.grab()
>>> im.show()
>>> im.save('screen.jpg')

Тут im.show() покажет то что “снял” используя стандартный просмотрщик. А im.save('screen.jpg') сохранит в нужном формате (в зависимости от расширения файла). Вообще там еще можно кучу опций добавлять к каждой функции, я со всем еще не разобрался.



Офлайн

#9 Авг. 22, 2007 13:04:54

player
От:
Зарегистрирован: 2007-08-09
Сообщения: 24
Репутация: +  0  -
Профиль   Отправить e-mail  

Люди помогите Новичку

lorien
lorien@lorien /web/photocross/web_site/pub $ python -c "import os; os.system('import -window root /tmp/test.png')"
lorien@lorien /web/photocross/web_site/pub $ file /tmp/test.png
/tmp/test.png: PNG image data, 1280 x 1024, 8-bit/color RGB, non-interlaced
к сожелению далеко не кросплатформенное решение :(
C:\Documents and Settings\...>python.exe -c "import os; os.system('import -window root test.png')"
'import' is not recognized as an internal or external command, operable program or batch file.



Офлайн

#10 Авг. 22, 2007 13:23:24

pythonwin
От:
Зарегистрирован: 2006-07-18
Сообщения: 1294
Репутация: +  0  -
Профиль   Отправить e-mail  

Люди помогите Новичку

from PIL import ImageGrab
Traceback (most recent call last):
File “<stdin>”, line 1, in ?
File “/usr/lib/python2.4/site-packages/PIL/ImageGrab.py”, line 34, in ?
import _grabscreen
ОС = debian 4.0
python 2.4
почему нет файла?
find тоже не помог :(



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version