locked
Взятие буфера камеры в высоком разрешении RRS feed

  • Вопрос

  • Доброго времени суток.

    Суть проблемы: нужно взять буффер видеоискателя (VideoBrush) в более высоком разрешении, нежели 640x480.

    Пробовал менять так 

    IReadOnlyList<Windows.Foundation.Size> availablePreviewResolutions =
                    PhotoCaptureDevice.GetAvailablePreviewResolutions(sensorLocation);

    for (int i = 0; i < availablePreviewResolutions.Count; ++i)
                {
                    if (previewResolution.Width < availablePreviewResolutions[i].Width)
                    {
                        Debug.WriteLine("MainPage.InitializeCamera(): New preview resolution: " + availablePreviewResolutions[i]);
                        previewResolution = availablePreviewResolutions[i];
                    }
                }

    await device.SetCaptureResolutionAsync(previewResolution); // здесь лежит 1280x720

    когда пытаюсь взять 

    byte[] s = new byte[(int)(previewResolution.Width * previewResolution.Height)];
                _dataContext.Device.GetPreviewBufferY(s); 

    в s заполнено всего лишь 307200(640x480) элементов из 921600 (1280x720)

    Устройство: HTC WP 8s.

    В availablePreviewResolutions доступно 8 разрешений.

    Также пробовал делать Canvas больше чем размеры экрана устройства - не помогло...

    Вопрос: как взять PreviewBufferY в большем разрешении?

    21 апреля 2014 г. 7:53

Ответы