Как бы мне попроще и получше реализовать следующую штуку:
1. Необходимо (скажем, с устройства видеозахвата) вырезать часть изображения.
2. Эту вырезанную часть необходимо увеличить в размере и вывести не экран монитора. Причем нужно чтобы в увеличенном изображении не было апроксимации между пикселами, т.е по сути получившееся изображение должно представляться в виде квадратиков — увеличенных пикселей (если я понятно выражаюсь ).
Здравствуйте, Niswn, Вы писали:
N>Как бы мне попроще и получше реализовать следующую штуку:
N>1. Необходимо (скажем, с устройства видеозахвата) вырезать часть изображения. N>2. Эту вырезанную часть необходимо увеличить в размере и вывести не экран монитора. Причем нужно чтобы в увеличенном изображении не было апроксимации между пикселами, т.е по сути получившееся изображение должно представляться в виде квадратиков — увеличенных пикселей (если я понятно выражаюсь ).
Думаю, без написания своего фильтра здесь не обойтись. В качестве заготовки можно использовать DXSDK\Samples\C++\DirectShow\Filters\NullInPlace, а вкачестве примера часть из DXSDK\Samples\C++\DirectShow\Filters\RGBFilters хотя последний можно просто и переделать.
Здравствуйте, mfasakhov, Вы писали:
M>Здравствуйте, Niswn, Вы писали:
N>>Как бы мне попроще и получше реализовать следующую штуку:
N>>1. Необходимо (скажем, с устройства видеозахвата) вырезать часть изображения. N>>2. Эту вырезанную часть необходимо увеличить в размере и вывести не экран монитора. Причем нужно чтобы в увеличенном изображении не было апроксимации между пикселами, т.е по сути получившееся изображение должно представляться в виде квадратиков — увеличенных пикселей (если я понятно выражаюсь ).
M>Думаю, без написания своего фильтра здесь не обойтись. В качестве заготовки можно использовать DXSDK\Samples\C++\DirectShow\Filters\NullInPlace, а вкачестве примера часть из DXSDK\Samples\C++\DirectShow\Filters\RGBFilters хотя последний можно просто и переделать.
А через фильтр Sample Grabber нельзя? Можно, например, получить буфер изображение одного размера, а переслать другого размера? Или размер изображения, проходящего через Sample Grabber, должен оставаться постоянным?
Здравствуйте, Niswn, Вы писали:
N>А через фильтр Sample Grabber нельзя? Можно, например, получить буфер изображение одного размера, а переслать другого размера? Или размер изображения, проходящего через Sample Grabber, должен оставаться постоянным?
Я почти не имел дела с Sample Grabber, но похоже там нет контроля над выходным пином.
Здравствуйте, Niswn, Вы писали:
N>>А через фильтр Sample Grabber нельзя? Можно, например, получить буфер изображение одного размера, а переслать другого размера? Или размер изображения, проходящего через Sample Grabber, должен оставаться постоянным?
M>Я почти не имел дела с Sample Grabber, но похоже там нет контроля над выходным пином.
У меня такая идейка. Захватывать с помощью Sample Grabber, а выводить напрямую в окно обработанную часть изображения используя, например BitBlt
Здравствуйте, mfasakhov, Вы писали:
M>Здравствуйте, Niswn, Вы писали:
M>У меня такая идейка. Захватывать с помощью Sample Grabber, а выводить напрямую в окно обработанную часть изображения используя, например BitBlt
Хорошая идейка. Надо будет попробовать.