Pracuję nad aplikacją i mam problem, którego nie potrafię znaleźć. Aplikacja napisana jest w języku vC++. Muszę wyświetlić plik wideo YUV z tekstem na górze.Rysowanie wideo z tekstem na górze
Teraz działa poprawnie, rysując tekst w metodzie OnPaint za pomocą GDI i wideo na nakładce DirectDraw. Muszę pozbyć się nakładki, ponieważ powoduje ona wiele problemów. Nie będzie działać na niektórych kartach wideo, Vista, 7 itd.
Nie mogę znaleźć sposobu, aby wykonać to samo w bardziej kompatybilny sposób. Mogę narysować wideo za pomocą DirectDraw z tylnym buforem i skopiować go do głównego bufora. Problem polega na tym, że tekst rysowany w GDI miga ze względu na ilość razy odświeżenie wideo. Naprawdę chciałbym zachować kod, aby narysować tekst w stanie nienaruszonym, jeśli to możliwe, ponieważ działa dobrze.
Czy istnieje sposób narysowania tekstu bezpośrednio do bufora DirectDraw lub bufora pamięci lub czegoś podobnego, a następnie do blendowania go z powrotem? Czy powinienem patrzeć na inną metodę razem? Dwa ważne systemy operacyjne to XP i 7. Jeśli ktoś ma jakieś pomysły, daj mi znać, a ja je przetestuję. Dzięki.
+1 za pytanie – gyurisc