private IMetaValue GetRotation() { var orientation = FFmpeg.ParseOrientation(FfmpegOutput); if (MetadataEnumHelper.IsValidOrientation(orientation) && (orientation != Orientation.None)) { return(new MetaValue(orientation.GetDescription(), ((ushort)orientation).ToString(CultureInfo.InvariantCulture))); } return(null); }
private IGalleryObjectMetadataItem GetExposureProgramMetadataItem() { IGalleryObjectMetadataItem mdi = null; MetadataItem rawMdi = null; if (RawMetadata.TryGetValue(RawMetadataItemName.ExifExposureProg, out rawMdi)) { if (rawMdi.ExtractedValueType == ExtractedValueType.Int64) { ExposureProgram expProgram = (ExposureProgram)(Int64)rawMdi.Value; if (MetadataEnumHelper.IsValidExposureProgram(expProgram)) { mdi = new GalleryObjectMetadataItem(int.MinValue, FormattedMetadataItemName.ExposureProgram, Resources.Metadata_ExposureProgram, expProgram.ToString(), true); } } } return(mdi); }
private IGalleryObjectMetadataItem GetFlashModeMetadataItem() { IGalleryObjectMetadataItem mdi = null; MetadataItem rawMdi = null; if (RawMetadata.TryGetValue(RawMetadataItemName.ExifFlash, out rawMdi)) { if (rawMdi.ExtractedValueType == ExtractedValueType.Int64) { FlashMode flashMode = (FlashMode)(Int64)rawMdi.Value; if (MetadataEnumHelper.IsValidFlashMode(flashMode)) { mdi = new GalleryObjectMetadataItem(int.MinValue, FormattedMetadataItemName.FlashMode, Resources.Metadata_FlashMode, flashMode.ToString(), true); } } } return(mdi); }
private IGalleryObjectMetadataItem GetYResolutionMetadataItem() { IGalleryObjectMetadataItem mdi = null; MetadataItem rawMdi = null; string resolutionUnit = String.Empty; if (RawMetadata.TryGetValue(RawMetadataItemName.ResolutionYUnit, out rawMdi)) { resolutionUnit = rawMdi.Value.ToString(); } if ((String.IsNullOrEmpty(resolutionUnit)) && (RawMetadata.TryGetValue(RawMetadataItemName.ResolutionUnit, out rawMdi))) { if (rawMdi.ExtractedValueType == ExtractedValueType.Int64) { ResolutionUnit resUnit = (ResolutionUnit)(Int64)rawMdi.Value; if (MetadataEnumHelper.IsValidResolutionUnit(resUnit)) { resolutionUnit = resUnit.ToString(); } } } if (RawMetadata.TryGetValue(RawMetadataItemName.YResolution, out rawMdi)) { string yResolution; if (rawMdi.ExtractedValueType == ExtractedValueType.Fraction) { yResolution = Math.Round(((Fraction)rawMdi.Value).ToSingle(), 2).ToString(CultureInfo.InvariantCulture); } else { yResolution = rawMdi.Value.ToString(); } string yResolutionString = String.Concat(yResolution, " ", resolutionUnit); mdi = new GalleryObjectMetadataItem(int.MinValue, FormattedMetadataItemName.VerticalResolution, Resources.Metadata_VerticalResolution, yResolutionString, true); } return(mdi); }
private IGalleryObjectMetadataItem GetLightSourceMetadataItem() { IGalleryObjectMetadataItem mdi = null; MetadataItem rawMdi = null; if (RawMetadata.TryGetValue(RawMetadataItemName.ExifLightSource, out rawMdi)) { if (rawMdi.ExtractedValueType == ExtractedValueType.Int64) { LightSource lightSource = (LightSource)(Int64)rawMdi.Value; if (MetadataEnumHelper.IsValidLightSource(lightSource)) { // Don't bother with it if it is "Unknown" if (lightSource != LightSource.Unknown) { mdi = new GalleryObjectMetadataItem(int.MinValue, FormattedMetadataItemName.LightSource, Resources.Metadata_LightSource, lightSource.ToString(), true); } } } } return(mdi); }