Ta strona została przetłumaczona z angielskiego dla wygody. Angielski oryginał jest najdokładniejszą wersją i w razie rozbieżności to on obowiązuje.

Jak odczytać tekst z ekranu do makra

OCR ekranu w makrze dla Windows: odczytaj liczbę, status albo nazwę z dowolnego okna, a potem zdecyduj, co z tym zrobić.

Zaktualizowano 18 września 2026 · Odczyt tekstu z ekranu jest częścią planu Pro w Myna Recorder; każde nowe konto może go wypróbować za darmo przez 7 dni.

1. Co robi read_text

Większość narzędzi do makr potrafi klikać i pisać, ale nie wie, co jest napisane na ekranie. read_text odczytuje prostokąt ekranu do zmiennej, a potem wartość można wpisać w innym miejscu, porównać albo użyć w komunikacie:

total = read_text(region=(820, 400, 180, 40), single_line=True)
message_box("The order total was ${total}")

2. Wybierz obszar

Zawsze podawaj region=(x, y, width, height). Odczyt całego pulpitu zmniejsza obraz tak bardzo, że zwykły tekst interfejsu staje się nieczytelny. Obszar wielkości pola, które Cię interesuje, jest szybki i dokładny. single_line=True łączy wszystko, co zostanie odczytane, w jeden wiersz, a tego właśnie chcesz przy liczbie lub nazwie. Każda liczba w obszarze może być zmienną albo sumą, więc obszar może podążać za dopasowaniem znalezionym przez wait_for.

3. Trzy czytniki

engine=Co to jestZużywa kredytyTrafia do wyeksportowanego programu
"builtin"Domyślny. Działa na Twoim komputerze.NieTak
"tesseract"Drugi lokalny czytnik. Niektóre ekrany odczytuje lepiej, a niektóre gorzej niż wbudowany, i przyjmuje page_mode=, który określa, jak obraz jest dzielony na wiersze. Wypróbuj go, gdy odczyt jest bliski, ale błędny.NieTak
"ai"Model transkrypcji na naszym serwerze, do tekstu, który oba lokalne czytniki odczytują źle.TakNie

Silnik wybiera się osobno dla każdego kroku, więc jedno makro może wszędzie używać darmowego czytnika, a czytnika AI tylko w tym jednym polu, które ma znaczenie.

4. Oczyść i wykorzystaj wynik

total = read_text(region=(820, 400, 180, 40)).to_number()
if total < 1000:
    notify("Total looks low: ${total}")

Metody oczyszczają to, co zostało odczytane; .to_number() to ta, której będziesz używać najczęściej. Pusty obszar zapisuje pusty tekst, a przebieg trwa dalej, więc sprawdź warunek, który piszesz, zarówno dla pustego odczytu, jak i dla wartości. Panel „Zmienne” pokazuje na żywo każdą zmienną w trakcie przebiegu i to najszybszy sposób, żeby zobaczyć, co czytnik naprawdę zwrócił.

5. Kiedy lepiej zapytać AI

read_text transkrybuje. Żeby wnioskować o tym, co jest na ekranie, użyj ask_ai: „ile wierszy jest czerwonych?”, „czy widać okno błędu?”. Są trzy role: "count" zwraca liczbę i położenie każdej rzeczy, więc makro może w nią kliknąć; "explain" zwraca zdanie do dziennika lub powiadomienia; "read" transkrybuje wybranym modelem. Z tego samego powodu dawaj mu mały obszar: model potrafi policzyć rzeczy na całym pulpicie, a potem nie umie ich zlokalizować. Każde wywołanie kosztuje kredyty, a przebieg ma limit 60 wywołań AI. Szczegóły są w podręczniku.

6. Wypatruj tekstu w trakcie działania makra

Krok odczytuje raz, tam, gdzie go umieścisz. Wiersz strażnika ustawiony na „Zapytaj AI” patrzy przez cały przebieg albo samodzielnie po kliknięciu „Rozpocznij obserwację” i zgłasza, gdy odpowiedź się pojawi lub zniknie. Może pokazać okienko, wysłać wiadomość na Telegramie lub Discordzie ze zrzutem ekranu albo zatrzymać makro. Tak dowiesz się o komunikacie „sesja wygasła” o 3 w nocy bez dodawania kroku do każdej pętli.

7. Koszty, plany i eksport

  • Odczyt tekstu z ekranu i ask_ai są częścią planu Pro, który obejmuje też 3000 kredytów miesięcznie. Dwa lokalne czytniki nigdy nie zużywają kredytów.
  • engine="ai", ask_ai i wiersze strażnika z AI zużywają kredyty i blokują eksport jako program. Makro, które odczytuje tekst czytnikiem wbudowanym lub Tesseract, eksportuje się bez problemu, z czytnikiem w środku pliku.
  • Plany i pakiety kredytów znajdziesz na stronie z cennikiem.