Сделайте снимок в WPF с помощью стандартного приложения камеры в Windows 8

Меня попросили разработать программное обеспечение для vb.net, и одной из его функций должна быть возможность делать фотографии на планшетном ПК. Я уже поиграл с MediaCapture API, который возвращает мне фотографию, но, как мне кажется, невозможно отобразить предварительный просмотр или что-либо еще вне приложений ModernUI. Это просто чистая фотография.

Я немного подумал, как решить эту проблему. Тогда я получил вдохновение от своего телефона на Android. Моя идея состояла в том, чтобы вызвать какой-то API, чтобы открыть обычное приложение камеры Windows 8 в режиме ModernUI, позволить пользователю сделать фотографию, а затем получить ее через "возвращаемое значение", как вы обычно делаете это в приложениях для Android.

Теперь мой вопрос: если есть способ запустить приложение камеры по умолчанию для Windows 8, позвольте ему сделать фотографию и получить ее обратно в настольное приложение WPF.

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

Моя другая (простая глупость) идея - попросить пользователя самостоятельно открыть приложение камеры, сделать несколько фотографий и вернуться к моему программному обеспечению позже. Затем я мог бы получить изображения из папки, в которой они хранились. Думаю, это тоже подойдет, но мне не очень нравится эта идея, потому что она не очень интуитивна и кажется просто глупой.

Если у вас есть идея (или альтернатива), я был бы очень рад, если бы вы могли поделиться ею со мной.

Заранее спасибо!

1 ответ

Решение

К сожалению, нет классов.NET, которые позволили бы вам получить доступ к веб-камере или встроенной камере на вашем компьютере. Это означает, что вы должны взглянуть на собственный API Windows и вызвать его из своего приложения. Я не могу указать вам правильные методы, которые вы должны использовать, поскольку я только что использовал Microsoft Media Foundation для захвата непрерывного потока изображений с веб-камеры и кодирования его в видеофайл.

Есть несколько сайтов, которые инкапсулируют эту нативную функциональность в классах.NET, но я не знаю, хороши они или нет:

В приложениях Магазина Windows эту задачу можно относительно легко выполнить с помощью упомянутого API захвата мультимедиа. Вы также можете загружать приложения Магазина Windows с боковой стороны, если у вас Windows 8 Pro или Enterprise - тогда вам не нужно публиковать свое приложение в Магазине Windows.

Если у вас есть дополнительные вопросы, пожалуйста, не стесняйтесь спрашивать.

Другие вопросы по тегам