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

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

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

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

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

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

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

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


person André R.    schedule 27.08.2014    source источник


Ответы (1)


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

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

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

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

person feO2x    schedule 27.08.2014
comment
Большое спасибо! К сожалению, это не совсем то, что я ожидал. Кажется, что это довольно сложно для такой простой вещи. Есть ли хотя бы способ запустить приложение камеры по умолчанию из моей программы WPF? - person André R.; 27.08.2014
comment
Взгляните на этот вопрос: stackoverflow.com/questions/22475520/ - person feO2x; 27.08.2014