Я работаю над приложением, и у меня есть проблема, для которой я просто не могу найти решение. Приложение написано на vc ++. Что мне нужно сделать, это отобразить YUV видео-канал с текстом поверх него.
Сейчас он работает правильно, рисуя текст в методе OnPaint с использованием GDI и видео в оверлее DirectDraw. Мне нужно избавиться от наложения, потому что это вызывает много проблем. Он не будет работать на некоторых видеокартах, Vista, 7 и т. Д.
Я не могу найти способ завершить то же самое более совместимым способом. Я могу нарисовать видео с помощью DirectDraw с задним буфером и просто скопировать его в основной буфер. Проблема здесь заключается в том, что текст, отображаемый в GDI, мигает из-за количества обновлений видео. Я действительно хотел бы сохранить код для рисования текста без изменений, если это возможно, так как он работает хорошо.
Есть ли способ нарисовать текст непосредственно в буфер DirectDraw или буфер памяти или что-то еще, а затем переместить его в задний буфер? Должен ли я смотреть на другой метод все вместе? Двумя важными ОС являются XP и 7. Если у кого-то есть идеи, просто дайте мне знать, и я их опробую. Спасибо.