Отправить растровое изображение в фильтр исходного изображения DirectShow - PullRequest
1 голос
/ 22 мая 2019

В поисках способа отправки растрового изображения из кода без сохранения его в файл в качестве источника вывода directshow.

Я нашел пример "PushSource" из Windows7.1SDK, но он написан на C ++, и даже не скомпилируется.

1 Ответ

0 голосов
/ 03 июня 2019

Вопрос слишком широк для подробного ответа, но я все же опишу шаги.

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

Затем PushSourceBitmap показывает, как внедрить растровое изображение в потоковый конвейер. Вы должны расширить фильтр, чтобы иметь возможность принимать растровое изображение извне, особенно с дружественным интерфейсом C #, таким как интерфейс COM.

Следующим шагом является понимание того, что фильтр работает в процессе потокового конвейера, который может отличаться от приложения, которое отправляет / создает растровое изображение. Если это так, вы должны заботиться о межпроцессном взаимодействии, что может быть не так тривиально. Кроме того, если задействовано несколько процессов, возникает вопрос о возможном несоответствии битности и / или нескольких отправителях.

Как вы упомянули фильтр исходного кода и C #, вам также может быть интересно взглянуть на GSSF DirectShow.NET: Универсальный фильтр исходного кода:

Универсальный фильтр исходного кода - способ реализации исходного фильтра в c #

...