Windows Mobile:использование камеры телефона с C#
-
23-08-2019 - |
Вопрос
Я хочу показать изображение, которое камера мобильного телефона принимает за элемент управления в WinForm.Идея заключается в том, что мое приложение работает как программа camera.Я хочу показать изображение так, как если бы пользователь собирался сделать снимок.
Как я могу это сделать?Могу ли я это сделать?
Если вам нужны более подробные сведения, спросите меня.
Спасибо!
Решение
Не совсем уверен, что вам нужно, но вы можете попробовать использовать Microsoft.WindowsMobile.Forms.CameraCaptureDialog:
string originalFileName;
using (CameraCaptureDialog dlg = new CameraCaptureDialog()) {
dlg.Mode = CameraCaptureMode.Still;
dlg.StillQuality = CameraCaptureStillQuality.Low;
//dlg.Resolution = new Size(800, 600);
dlg.Title = "Take the picture";
DialogResult res;
try {
res = dlg.ShowDialog();
}
catch (Exception ex) {
Trace.WriteLine(ex);
return null;
}
if (res != DialogResult.OK)
return null;
this.Refresh();
originalFileName = pictureFileName = dlg.FileName;
}
Последующее редактирование: Некоторым из вас эта ссылка тоже может оказаться полезной:http://community.intermec.com/t5/General-Development-Developer/CN50-MS-Camera-Capture-Dialog-generates-error/m-p/12881#M4083
Другие советы
То, что вам нужно, - это предварительный просмотр, а не захват, что гораздо сложнее.Лучшее (и, возможно, единственное) решение - вставить фильтр DShow в filtergraph, чтобы переместить окно предварительного просмотра туда, куда вы хотите.
COM - это медведь в компактной среде, а DShow - это сложно, независимо от того, на какой платформе вы работаете.Есть некоторые ресурсы в Интернете, такие как DShow.СЕТЕВАЯ библиотека в sourceforge, и Блог Алекса Могуренко, но ничего конкретного для создания захвата.
В WinMo SDK есть собственный образец capture, который был бы полезным руководством для вас.
Я думаю, вам следует программировать на аппаратном обеспечении напрямую, используя sdk или что-то подобное.
Поскольку программирование непосредственно на аппаратном обеспечении обычно выполняется на c / c ++, sdk, вероятно, будет встроенным.Так что либо вам, вероятно, придется использовать pinvoke и ключевое слово unsafe.
Но сначала вы должны найти способ доступа к камере, и поскольку это зависит от аппаратного обеспечения, вы можете начать с веб-сайта производителя телефона.
Проверьте SmartDeviceFramework из OpenNetCF.org имейте некоторые инструменты для PocketPC, включая захват кадров с камеры.