Video mit Text oben zeichnen

Ich arbeite an einer Anwendung und habe ein Problem, für das ich anscheinend keine Lösung finde. Die Anwendung ist in vc ++ geschrieben. Ich muss lediglich einen YUV-Video-Feed mit Text darüber anzeigen.

Derzeit funktioniert es ordnungsgemäß, indem der Text in der OnPaint-Methode mit GDI und dem Video in einer DirectDraw-Überlagerung gezeichnet wird. Ich muss das Overlay loswerden, weil es zu vielen Problemen führt. Es funktioniert nicht mit einigen Grafikkarten, Vista, 7 usw.

Ich kann nicht herausfinden, wie ich dasselbe auf eine kompatiblere Weise ausführen kann. Ich kann das Video mit DirectDraw mit einem Rückpuffer zeichnen und es ganz gut in den Primärpuffer kopieren. Das Problem hierbei ist, dass der in GDI gezeichnete Text aufgrund der Häufigkeit, mit der das Video aktualisiert wird, blinkt. Ich würde wirklich gerne den Code behalten, um den Text möglichst intakt zu zeichnen, da er gut funktioniert.

Gibt es eine Möglichkeit, den Text direkt in einen DirectDraw-Puffer oder einen Speicherpuffer oder etwas anderes zu zeichnen und ihn dann in den Hintergrundpuffer zu verschieben? Sollte ich alle zusammen eine andere Methode suchen? Die beiden wichtigsten Betriebssysteme sind XP und 7. Wenn jemand irgendwelche Ideen hat, lass es mich wissen und ich werde sie testen. Vielen Dank.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage