none
Рисовать точки поверх видео. Microsoft.DirectX.AudioVideoPlayback - C#

    Вопрос

  • Всем здравствуйте!

    Подскажите пожалуйста каким образом можно ставить точки поверх видео?

    Для управления видео использую Microsoft.DirectX.AudioVideoPlayback, отображаю видео в panel1.
    Точки пытаюсь ставить panel2.CreateGraphics().FillRectangle(Brushes.Red, e.X, e.Y, 10, 10);
    Пытался расположить поверх panel1 panel2 с прозрачным стилем. Но panel2, что ни делай не видит видео, а видит сквозь видео panel1.
    Спасибо, за любую информацию!
    7 декабря 2017 г. 11:36

Ответы

  • Легкого способа сделать это нет. Средствами GDI+ нельзя переопределить изображение выводимое, через DirectX, так как DirectX работает на низком уровне, рисуя напрямую в видеокарту (грубо говоря). Managed DirectX, который вы используете, давно устарел и по нему трудно найти материалы. Для модификации видео обычно используют DirectShow и фильтр SampleGrabber.

    Пример работы с видео через DirectShow из C# можно посмотреть здесь: https://channel9.msdn.com/coding4fun/articles/Paint-With-Light


    • Изменено VadimTagil 8 декабря 2017 г. 5:02
    • Помечено в качестве ответа oihoo 8 декабря 2017 г. 8:50
    8 декабря 2017 г. 4:56

Все ответы

  • Легкого способа сделать это нет. Средствами GDI+ нельзя переопределить изображение выводимое, через DirectX, так как DirectX работает на низком уровне, рисуя напрямую в видеокарту (грубо говоря). Managed DirectX, который вы используете, давно устарел и по нему трудно найти материалы. Для модификации видео обычно используют DirectShow и фильтр SampleGrabber.

    Пример работы с видео через DirectShow из C# можно посмотреть здесь: https://channel9.msdn.com/coding4fun/articles/Paint-With-Light


    • Изменено VadimTagil 8 декабря 2017 г. 5:02
    • Помечено в качестве ответа oihoo 8 декабря 2017 г. 8:50
    8 декабря 2017 г. 4:56
  • Спасибо за подсказку! Мою задачу полностью решил EmguCV.
    12 декабря 2017 г. 13:28