Bombsquad.Exif.ExifGpsInfoParser.Parse C# (CSharp) Method

Parse() private method

private Parse ( BitmapMetadata metadata ) : ExifGpsData
metadata BitmapMetadata
return Bombsquad.Exif.Models.ExifGpsData
        internal ExifGpsData Parse( BitmapMetadata metadata )
        {
            return new ExifGpsData
            {
                GpsVersion = ParseGpsVersion( metadata ),
                ProcessingMethod = metadata.ReadString( ProcessingMethodQuery ),
                MeasureMode = ParseMeasureMode( metadata ),
                Latitude = ParseLatitude( metadata ),
                Longitude = ParseLongitude( metadata ),
                Altitude = ParseAltitude( metadata )
            };
        }

Usage Example

Example #1
0
        public ExifData Parse(BitmapSource bitmap)
        {
            BitmapMetadata metadata;

            try
            {
                metadata = (BitmapMetadata)bitmap.Metadata;
            }
            catch
            {
                return(null);
            }

            return(new ExifData
            {
                DateTaken = GetDateTaken(metadata),

                CameraManufacturer = GetStringValue(metadata, m => m.CameraManufacturer),
                CameraModel = GetStringValue(metadata, m => m.CameraModel),
                CreationSoftware = metadata.ReadString(CreationSoftwareQuery),

                ImageWidth = bitmap.PixelWidth,
                ImageHeight = bitmap.PixelHeight,
                HorizontalResolution = metadata.ReadUnsignedRational(HorizontalResolutionQuery),
                VerticalResolution = metadata.ReadUnsignedRational(VerticalResolutionQuery),
                ImageOrientation = GetOrientation(metadata),
                ColorRepresentation = GetColorRepresentation(metadata),

                ISOSpeed = metadata.ReadUShort(ISOSpeedQuery),
                FNumber = metadata.ReadUnsignedRational(FNumberQuery),
                ExposureTime = metadata.ReadUnsignedRational(ExposureTimeQuery),
                ExposureCompensation = metadata.ReadSignedRational(ExposureCompensationQuery),
                LensAperture = metadata.ReadUnsignedRational(LensApertureQuery),
                FocalLength = metadata.ReadUnsignedRational(FocalLengthQuery),
                FlashMode = GetFlashMode(metadata),
                ExposureMode = GetExposureMode(metadata),
                WhiteBalanceMode = GetWhiteBalanceMode(metadata),

                GpsData = m_gpsInfoParser.Parse(metadata)
            });
        }