예제 #1
0
        /// <summary>
        /// Gets image exposure metering mode information.
        /// </summary>
        /// <returns></returns>
        private ImageMeteringMode GetMeteringModeInfo()
        {
            ImageMeteringMode meteringModeInfo = new ImageMeteringMode();

            try
            {
                PropertyItem piMeteringModeInfo = GetImageProperty(Constants.MeteringMode);
                if (piMeteringModeInfo != null && piMeteringModeInfo.Type == 3)
                {
                    double meteringModeInfoValue = 0.00;
                    for (int count = 0; count < piMeteringModeInfo.Value.Length; count++)
                    {
                        meteringModeInfoValue += piMeteringModeInfo.Value[count] * Math.Pow(256, count);
                    }
                    int meteringModeInfoData = Convert.ToInt32(meteringModeInfoValue);
                    meteringModeInfo = (ImageMeteringMode)meteringModeInfoData;
                }
                else
                {
                    meteringModeInfo = ImageMeteringMode.Unknown;
                }
            }
            catch (Exception)
            {
                meteringModeInfo = ImageMeteringMode.Undefined;
            }
            return(meteringModeInfo);
        }
예제 #2
0
 /// <summary>
 /// Gets all the image property values.
 /// </summary>
 private void GetAllImagePropertyValues()
 {
     try
     {
         this.cameraMake                = GetCameraMake();
         this.cameraModel               = GetCameraSpecificModel();
         this.aperture                  = GetApertureData();
         this.shutterSpeed              = GetExposureTime();
         this.iso                       = GetISOInformation();
         this.focalLength               = GetFocalLengthInformation();
         this.pixelXDimension           = GetPixelDimension(Dimension.X);
         this.pixelYDimension           = GetPixelDimension(Dimension.Y);
         this.imageFileSource           = GetImageFileSource();
         this.flash                     = GetFlashInformation();
         this.createdDateTimeStamp      = GetImageDateTimeStamps(ImageTimeStamps.Created);
         this.modifiedDateTimeStamp     = GetImageDateTimeStamps(ImageTimeStamps.Modified);
         this.exposureCompensation      = GetExposureCompensation();
         this.imageSceneMode            = GetImageSceneMode();
         this.meteringMode              = GetMeteringModeInfo();
         this.imageExposureMode         = GetImageExposureMode();
         this.imageWhiteBalance         = GetImageWhiteBalance();
         this.imageSubjectDistanceRange = GetImageSubjectDistanceInformation();
         this.focalLength35mmEquivalent = GetFocalLength35mmEquivalent();
     }
     catch (Exception)
     {
     }
 }