Рисование видео с текстом на вершине

Я работаю над приложением, и у меня есть проблема я просто, наклон, кажется, находит решение для. Приложение записано в vc ++. То, что я должен сделать, отобразить видео канал YUV с текстом сверху его.

Прямо сейчас это работает правильно путем рисования текста в методе OnPaint с помощью GDI и видео на наложении DirectDraw. Я должен избавиться от наложения, потому что оно вызывает ко многим проблемам. Это работа привычки над некоторыми видеокартами, перспективой, 7, и т.д.

Я не могу выяснить способ завершить то же самое более совместимым способом. Я могу потянуть видео с помощью DirectDraw с задним буфером и скопировать его в основной буфер очень хорошо. Проблема здесь - то, что текст, оттягиваемый во вспышках GDI из-за суммы времен видео, обновляется. Я действительно хотел бы сохранить код для рисования текста, неповрежденного, если это возможно, так как он работает хорошо.

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

6
задан MPelletier 21 October 2010 в 17:15
поделиться

2 ответа

Попробуйте изучить DirectShow и образец тикера на microsoft.com:

Пример тикера DirectShow

В этом примере используется средство визуализации микширования видео для смешивания видео и текста. Он использует интерфейс IVMRMixerBitmap9 для наложения текста на нижнюю часть видеоокна.

DirectShow предназначен для построения графиков фильтров для воспроизведения аудио- или видеопотоков, а также для добавления различных фильтров для различных эффектов и манипуляции с видео- и аудиосэмплами.

2
ответ дан 17 December 2019 в 18:15
поделиться

Вместо использования средства визуализации микширования видео DirectShow можно также использовать интерфейс ISampleGrabber . Преимущество заключается в том, что это фильтр, который можно использовать и с другими модулями визуализации, например, когда видео не отображается на экране, а выполняется потоковая передача по сети или выгрузка в файл.

1
ответ дан 17 December 2019 в 18:15
поделиться
Другие вопросы по тегам:

Похожие вопросы: