...Beides ist aber aus einem Thread heraus verboten.
Gut, sei es einfach eben mal so.
Allerdings - siehe #20 - scheint es ja zu funktionieren. Auch
Image1.Picture.Assign(BitMap);
geht.
X andere Versuche mit Draw, CopyRect, BrushCopy auf (irgendein) Canvas funzen nicht, bzw. nur (sehr ) kurz.
Und:
Das Geflacker scheint offensichtlich eine ganz andere Ursache zu haben -> nämlich in der "Malerei" der Ursprungs-Bitmap, also FBMOSD.
Die Katze mal aus dem Sack gelassen:
Das ganze ist/wird ein DVB-Teletext-Parser, der etwas flotter, universeller mit ein paar extra Features sein soll.
Zur Zt. fliegen da noch etwa bis zu 20 BitMaps/s an die OSD, weil der Decoder noch nicht optimiert ist, bzw. noch Fehler im Detail stecken.
Durch Fehlinterpretation von Steuerzeichen kommt es daher unregelmäßig zu diesen "Flashes", wenn mit clWHite das BitMap gelöscht wird.
Ein Eigentor .....
Nun mal schauen, wie es mit dem schreiben der BM direkt in den Video-Renderer klappt, das richtige OSD also.
Vergessen:
Ich hab testweise den ParserThread rausgenommen, nun läuft alles "straight" aus der OnTSReceive Methode.
Effekt: (Erwartungsgemäß) Genau das gleiche Geflacker wie mit Parser.
Es lieht also nicht am Thread.