Задать вопрос
@AndromedaZ
любитель питона

Как выполнить асинхронный вызов функции в Python?

Хочу написать пранк для друзей, связанный с постепенным затемнением экрана. Код:

import pyautogui
from win32gui import SetPixel, GetDC
from pywintypes import error
from win32api import RGB
from random import randint as rnd

color = (0, 0, 0)
dc = GetDC(0)

def effect(dc, x, y, color):
    SetPixel(dc, x, y, color)

for times in range(1000):
    s = pyautogui.screenshot()
    for x in range(s.width):
        for y in range(s.height):
            if s.getpixel((x, y)) == color:
                try:
                    effect(dc, x + rnd(1, 10), y + rnd(1, 10), RGB(color[0], color[1], color[2]))
                except error:
                    pass

Рисование пикселей происходит очень медленно, как можно это исправить?

EDIT: как работает код?
Делается скриншот, и на нём ищется чёрный цвет. Когда расположение в x и y найдено, рядом с ним рисуется ещё один чёрный пиксель, как в вирусах.
  • Вопрос задан
  • 71 просмотр
Подписаться 1 Средний Комментировать
Решения вопроса 1
solotony
@solotony
покоряю пик Балмера
Рисование пикселей происходит очень медленно, как можно это исправить?

рендерить в памяти, использовать библиотеки работающие с массивами cv2, numpy ...

а при чем тут асинхронность ? ускорить питоновский код асинхронностью не получится
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы