Screenshot z Java Robot zobrazuje černý obdélník tam, kde je Google Chrome

V jednom ze svých dřívějších článků jsem psal o adresovatelném RGB LED pásku za televizi. Ten s úspěchem provozuji už několik let a až včera jsem narazil na problém, protože LEDky přestaly svítit, když byl na popředí prohlížeč Google Chrome. Firefox a ostatní aplikace stále bezvadně fungovaly.

Po bližším prozkoumání jsem zjistil, že program na ovládání LEDek funguje. Neustále se vytváří screenshot obrazovky a podle barvy okrajů se i mění barva LEDek za televizí. Jenže problém je v tom, že na screenshotu je jen černý obdélník tam, kde by měl být obsah okna Chromu. Napsal jsem jednoduchý program v Processingu, který to ověří. Zároveň zobrazí i používanou verzi Javy.

Právě ve verzi Javy je nejspíš problém a objevil se až při aktualizaci operačního systému. Po nainstalování OpenJDK 15 problém zmizel.

Jenže Processing ke svému spuštění vyžaduje Oracle Javu a nejspíš i starší verzi 8 (nezkoušel jsem jinou). Takže řešením je vyexportovat ovládací aplikaci na LED pásek a upravit spouštěcí skript tak, aby používal Javu 15.

Upravený spouštěč i testovací aplikaci jsem nahrál do repozitáře na Github.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *