Registriert seit: 7. Jun 2006
Ort: Karlsruhe
3.724 Beiträge
FreePascal / Lazarus
|
Re: Schneller Screenshoot
6. Mär 2010, 00:26
Ich habe auch mal mit sowas experimentiert, wirklich "schnell" im Sinne von Echtzeit war es aber nie. Ich glaube, es hat schon seinen Sinn, dass es spezielle Protokolle wie VNC dafür gibt, die von den meisten solcher Programme genutzt werden. Denn alles, was rein über Screenshots läuft, ist entweder sehr langsam oder sehr rechenintensiv oder beides. Wenn es wirklich schnell sein soll, implementier ein solches Protokoll (oder nimm eine fertige Lösung).
Dennoch: Eine recht einfache Möglichkeit, um nur die Veränderungen zu übertragen (bzw. den Rest stark zu komprimieren), wäre, das jeweils aktuelle Bild mit dem vorigen Bild per XOR zu verknüpfen. Dadurch wird alles, was sich nicht verändert hat dann Schwarz, was bei entsprechender Komprimierung (z.B. mit PNG) zu relativ kleinen Dateien führt. Auf der anderen Seite verknüpfst du das entstandene Bild wieder per XOR mit dem vorhergegangenen, und erhältst so wieder das Original. Alternativ könntest du die Bilder natürlich auch manuell durchscannen und alle nicht veränderten Pixel durch eine bestimmte, transparente Farbe ersetzen - da ist es ganz praktisch, dass PNG einen Alphakanal hat.
|