2017-03-03 14 views
0

https://media.giphy.com/media/3og0IDneIpXgdMDOzm/source.gifComment dessiner dynamiquement une recangle sur l'écran sans glitching - python

Je travaille sur un code qui dessine un rectangle transparent à l'écran et enregistre la section sous forme d'image, mais des rectangles excessifs sont laissés pour compte.

import wx 
import win32gui 

app = wx.App(False) 
s = wx.ScreenDC() 
s.Pen = wx.Pen("#FF0000") 

int_x = win32gui.GetCursorPos()[0] 
int_y = win32gui.GetCursorPos()[1] 

while 1: 
    s.DrawRectangle(int_x,int_y,win32gui.GetCursorPos()[0]-int_x,win32gui.GetCursorPos()[1]-int_y) 

Répondre

0

Je pense que vous devez faire une sorte de clair ou rafraîchir après le tirage

s.Clear() 
s.Refresh() 

Je ne l'ai pas utilisé ce donc je suis pas sûr que cela fonctionnera dans votre temps loop mais j'imagine que ce ne sera pas le cas et que vous auriez besoin de quelque chose pour gérer le début (mousedown) et la fin (mouseup) du dessin puis sur mouseup faire le clear et rafraîchir que je mentionne. L'erreur

+0

apparaît: AttributeError: l'objet 'ScreenDC' n'a pas d'attribut 'Refresh' – user5283660