-
Notifications
You must be signed in to change notification settings - Fork 66
Description
Descrição do problema:
Estou tentando ler imagens Tibia Global no OBS Studio usando seu script do Python. No entanto, estou encontrando dificuldades, pois o código não consegue encontrar as imagens que preciso, no entanto no otserver funciona normalmente.
Informações adicionais:
Tentei várias abordagens, incluindo a utilização das bibliotecas win32gui, win32ui, ctypes, PIL, cv2, numpy, dxcam, pyautogui. No entanto, nenhuma dessas abordagens resultou em uma solução funcional, tentei modificar a transparência do tibia para 1 que no caso na teoria resolveria o problema, mas mesmo assim não deu, também modifquei alguns códigos para o projetor em janela do obs para ver se resolvia e também não mudou nada. Fiz inúmeros testes e ele não conseguiu ler a tela do tibia ou do obs, em alguns teste ele até conseguia ler a tela do obs utilizando o win32ui mas não conseguia executar os comandos na janela do tibia.
Anexos:
Tentei mudar para o projetor em janela para ver se ajudava:
def getTibiaWindows(self):
def enum_windows_callback(hwnd, results):
if win32gui.IsWindowVisible(hwnd):
window_title = win32gui.GetWindowText(hwnd)
if re.match(r"Projetor em janela (fonte) - tibia.*", window_title):
results.append(window_title)
results = []
win32gui.EnumWindows(enum_windows_callback, results)
return results
def setTibiaWindowMiddleware(context: Context) -> Context:
if context['window'] is None:
windowsList: list = []
win32gui.EnumWindows(
lambda hwnd, param: param.append(hwnd), windowsList)
windowsNames = list(
map(lambda hwnd: win32gui.GetWindowText(hwnd), windowsList))
regex = re.compile(r'Projetor em janela \(fonte\) - tibia')
windowsFilter = list(
filter(lambda windowName: regex.match(windowName), windowsNames))
if len(windowsFilter) > 0:
context['window'] = gw.getWindowsWithTitle(windowsFilter[0])[0]
return context