Ejemplo n.º 1
0
        public void Open(int sizeId)
        {
            if (this._handle == 0)
            {
                Error.ThrowNativeException(ObjectDisposed);
            }
            if (sizeId < 0 || this._cameraInfo.SupportedPreviewSizes.Count < sizeId)
            {
                Error.ThrowNativeException(ArgumentOutOfRange);
            }
            int errorCode = Camera.OpenNative(this._handle, this._cameraInfo.SupportedPreviewSizes[sizeId]);

            if (errorCode < 0)
            {
                this.Close();
            }
            else
            {
                CameraSize currentPreviewSize;
                errorCode = Camera.GetPreviewSizeNative(this._handle, out currentPreviewSize);
                if (errorCode < 0)
                {
                    this.Close();
                }
                else
                {
                    this._currentPreviewSize = currentPreviewSize;
                    CameraImageFormat currentPreviewImageFormat;
                    errorCode = Camera.GetPreviewImageFormatNative(this._handle, out currentPreviewImageFormat);
                    if (errorCode < 0)
                    {
                        this.Close();
                    }
                    else
                    {
                        this._currentPreviewImageFormat = currentPreviewImageFormat;
                    }
                }
            }
        }
Ejemplo n.º 2
0
 private static extern int TakePictureNative(int handle, CameraSize size);
Ejemplo n.º 3
0
 private static extern int GetPreviewSizeNative(int handle, out CameraSize size);
Ejemplo n.º 4
0
 private static extern int OpenNative(int handle, CameraSize size);
Ejemplo n.º 5
0
 private static extern int GetSupportedPictureSizeNative(int cameraId, int sizeId, out CameraSize size);