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 jest | Zużywa kredyty | Trafia do wyeksportowanego programu |
|---|---|---|---|
| "builtin" | Domyślny. Działa na Twoim komputerze. | Nie | Tak |
| "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. | Nie | Tak |
| "ai" | Model transkrypcji na naszym serwerze, do tekstu, który oba lokalne czytniki odczytują źle. | Tak | Nie |
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.