Уведомления

Группа в Telegram: @pythonsu

#1 Сен. 4, 2011 19:48:08

Aivee
От:
Зарегистрирован: 2008-12-02
Сообщения: 25
Репутация: +  0  -
Профиль   Отправить e-mail  

Скриншоты экрана realtime (типа фрапса)

Необходимо получить изображение экрана для попиксельной работы с ним.

from time import sleep
from PIL import Image, ImageGrab

i = 50
while (i > 0):
img = ImageGrab.grab()
i = i - 1
sleep(0.1)
Вариант с PIL увы не подходит, т.к. ImageGrub очень медленный (выполняется около 400 мс) =/
Мне необходимо получать хотябы 10 кадров в секунду, подскажите более быстрое решение пожалуйста.



Офлайн

#2 Сен. 4, 2011 21:42:31

Aivee
От:
Зарегистрирован: 2008-12-02
Сообщения: 25
Репутация: +  0  -
Профиль   Отправить e-mail  

Скриншоты экрана realtime (типа фрапса)

Нашел способ без создания изображения, очень быстрый.

from ctypes import windll
def getpixel(x,y):
return windll.gdi32.GetPixel(windll.user32.GetDC(0), x, y)



Офлайн

#3 Сен. 5, 2011 13:09:45

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  253  -
Профиль   Отправить e-mail  

Скриншоты экрана realtime (типа фрапса)

Очень интересно. Наверное битмапку еще быстрее будет получить http://msdn.microsoft.com/en-us/library/dd144879%28v=vs.85%29.aspx



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version