Вопрос

Я хочу показать изображение, которое камера мобильного телефона принимает за элемент управления в 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, включая захват кадров с камеры.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top