Hallo klawischnigg,
ich wüsste auch nicht, dass man blindlings das Browserfenster in einen Canvas oder sonst eine Bitmap laden kann. Vermutlich wäre das am elegantensten. Aber die diversen Googletreffer zeigen alle, dass sie das DOM in einen Canvas nachmalen und bei weitem nicht alles CSS verstehen.
Ich habe noch das hier gefunden - kannst Du das für deine Bedürfnisse anpassen?
Ansonsten ist das Triggern eines Screenshots via localhost-Webserver und PHP wohl die einfachste Lösung, denn die Browser sind extrem bestrebt, aus Sicherheitsgründen den Zugang zum Client-Computer zu unterbinden.
Eine Alternative zum Webserver ist ein custom protocol handler, den man über die Registry einrichten kann. Damit könntest Du erreichen, dass der Abruf der URL klawisch://nigg/1 ein von Dir hinterlegtes EXE startet, das nigg/1 als Parameter bekommt. Aber das Programm musst Du auch schreiben, und du kommst in die CORS-Problematik. Bleib bei PHP, wenn es deine Bedürfnisse erfüllt. Eleganter bekommst Du es nicht hin, denke ich.
Was es auch gibt, sind Browser als Controls für ein Java- oder C# Programm. Die Firma TeamDev hat Chromium für Java und C#. Aber sie wollen für eine Lizenz für einen Entwickler $1200 (C#) bzw. $1800 (Java) sehen. Der IE als Webbrowser-Control ist gratis. Aber es ist eben nur ein IE. Ob der kommende Chromium Edge als Webbrowser-Control nutzbar sein wird, steht in den Sternen Redmonts.
Eine "bescheuerte" Lösung könnte ein Tool sein, dass die Titelzeile des Browsers beobachtet. Die kannst Du über document.title beeinflussen. Fehlt dann nur die Rückmeldung, dass der Screenshot fertig ist...
Rolf
--
sumpsi - posui - clusi