Захват изображения с помощью CameraCapture - PullRequest
0 голосов
/ 20 июля 2011

Я использую пример кода из Microsoft Windows SDK (CameraCapture, который находится в C: \ Program Files \ Windows Mobile 6 SDK \ Samples \ PocketPC \ CPP \ win32 \ CameraCapture) для захвата изображения с помощью Windows Mobile.Программа сохраняет изображение в файл, но мне интересно хранить изображение в памяти, а не сохранять в хранилище.

есть предложения?

1 Ответ

2 голосов
/ 20 июля 2011

У меня нет доступа к этому конкретному образцу, но я предполагаю, что в проекте используется класс CaptureCameraDialog.

http://msdn.microsoft.com/en-us/library/microsoft.windowsmobile.forms.cameracapturedialog_members.aspx

К сожалению, использование этого класса вернет только путь к изображению,Вы не указываете, почему вам нужно сохранять его в памяти, а не на диске, но если вы хотите выполнить некоторую базовую обработку, вы можете просто загрузить его с захваченного диска.

using (CameraCaptureDialog cameraCapture = new CameraCaptureDialog())
{
    cameraCapture.ShowDialog();

    //get the name of the last image taken
    string fileName = cameraCapture.FileName;

    //Load the image from disk into our image object
    Image image = new Bitmap(fileName);
}

AСлово предостережения здесь.Я считаю, что при сохранении на диск изображения будут в сжатом формате, но при загрузке в память они будут распакованы.При работе с изображениями в компактной среде очень легко вызвать исключение нехватки памяти, поэтому я не рекомендовал бы хранить сразу много изображений в памяти, особенно при работе с камерой высокого разрешения.

...