Exemplo n.º 1
1
        internal NikonPreview(byte[] buffer)
        {
            Debug.Assert(buffer.Length > 32);

            NikonBufferStream stream = new NikonBufferStream(buffer);

            _width = stream.Read2();
            _height = stream.Read2();
            _focusPoint = stream.Read1();
            _orientation = (NikonOrientation)stream.Read1();
            _quality = (NikonPreviewQuality)stream.Read1();
            _cropMode = (NikonPreviewCropMode)stream.Read1();
            _AFType = (NikonPreviewAFType)stream.Read1();
            _focusControlAreaInfo = new byte[8];
            stream.Read(_focusControlAreaInfo, _focusControlAreaInfo.Length);
            _focusInfo = (NikonPreviewFocusInformation)stream.Read1();
            _AFAreaWidth = stream.Read2();
            _AFAreaHeight = stream.Read2();
            _contrastAFPosX = stream.Read2();
            _contrastAFPosY = stream.Read2();
            _constrastAFAreaX = stream.Read2();
            _constrastAFAreaY = stream.Read2();
            stream.Skip(2); // Skip 2 reserved bytes

            Debug.Assert(stream.Position == 32);

            _jpegBuffer = new byte[buffer.Length - stream.Position];
            stream.Read(_jpegBuffer, _jpegBuffer.Length);
        }
Exemplo n.º 2
0
        internal NikonPreview(byte[] buffer)
        {
            Debug.Assert(buffer.Length > 32);

            NikonBufferStream stream = new NikonBufferStream(buffer);

            _width                = stream.Read2();
            _height               = stream.Read2();
            _focusPoint           = stream.Read1();
            _orientation          = (NikonOrientation)stream.Read1();
            _quality              = (NikonPreviewQuality)stream.Read1();
            _cropMode             = (NikonPreviewCropMode)stream.Read1();
            _AFType               = (NikonPreviewAFType)stream.Read1();
            _focusControlAreaInfo = new byte[8];
            stream.Read(_focusControlAreaInfo, _focusControlAreaInfo.Length);
            _focusInfo        = (NikonPreviewFocusInformation)stream.Read1();
            _AFAreaWidth      = stream.Read2();
            _AFAreaHeight     = stream.Read2();
            _contrastAFPosX   = stream.Read2();
            _contrastAFPosY   = stream.Read2();
            _constrastAFAreaX = stream.Read2();
            _constrastAFAreaY = stream.Read2();
            stream.Skip(2); // Skip 2 reserved bytes

            Debug.Assert(stream.Position == 32);

            _jpegBuffer = new byte[buffer.Length - stream.Position];
            stream.Read(_jpegBuffer, _jpegBuffer.Length);
        }