コード例 #1
0
ファイル: PhotoInspector.cs プロジェクト: VIQET/VIQET-Desktop
        public void InspectAndUpdatePhoto(Photo photo, string categoryName)
        {
            //Fetch Exif Information
            photo.PhotoDetails.AddRange(ExifInspector.GetInfo(photo.SourceFilePath));

            try
            {
                string mosModel = Properties.Settings.Default.MOSModel;
                PhotoResult photoQualityResult = this.PhotoQualityInspector.AnalyzePhoto(photo.SourceFilePath, categoryName, Properties.Settings.Default.MOSModel, false);
                if (photoQualityResult != null)
                {
                    //Fetch the  photo details
                    foreach (VQHelper.Parameter parameter in photoQualityResult.PhotoDetails)
                    {
                        PhotoDetail photoDetail = new PhotoDetail();
                        photoDetail.ParameterName = parameter.ParameterName;
                        photoDetail.Value = parameter.Value < 0 ? Double.NaN: Math.Round(parameter.Value, 2);
                        photoDetail.ValueString = Properties.Resources.NA;
                        photoDetail.DisplayPreference = parameter.DisplayPreference;
                        photo.PhotoDetails.Add(photoDetail);
                    }

                    //Fetch visualization images
                    foreach (VQHelper.VisualizationImage parameter in photoQualityResult.VisualizationImages)
                    {
                        VisualizationImage visualizationImage = new VisualizationImage();
                        visualizationImage.Visualization = parameter.Visualization;
                        visualizationImage.FilePath = parameter.FilePath;
                        photo.VisualizationImages.Add(visualizationImage);
                    }
                }
            }
            catch (Exception exception)
            {
                MessageBox.Show(Properties.Resources.ExceptionDetails + " " + exception.ToString(), Properties.Resources.PhotoProcessingError);
            }
        }
コード例 #2
0
        public void InspectAndUpdatePhoto(Photo photo, string categoryName)
        {
            //Fetch Exif Information
            photo.PhotoDetails.AddRange(ExifInspector.GetInfo(photo.SourceFilePath));

            try
            {
                string      mosModel           = Properties.Settings.Default.MOSModel;
                PhotoResult photoQualityResult = this.PhotoQualityInspector.AnalyzePhoto(photo.SourceFilePath, categoryName, Properties.Settings.Default.MOSModel, false);
                if (photoQualityResult != null)
                {
                    //Fetch the  photo details
                    foreach (VQHelper.Parameter parameter in photoQualityResult.PhotoDetails)
                    {
                        PhotoDetail photoDetail = new PhotoDetail();
                        photoDetail.ParameterName     = parameter.ParameterName;
                        photoDetail.Value             = parameter.Value < 0 ? Double.NaN: Math.Round(parameter.Value, 2);
                        photoDetail.ValueString       = Properties.Resources.NA;
                        photoDetail.DisplayPreference = parameter.DisplayPreference;
                        photo.PhotoDetails.Add(photoDetail);
                    }

                    //Fetch visualization images
                    foreach (VQHelper.VisualizationImage parameter in photoQualityResult.VisualizationImages)
                    {
                        VisualizationImage visualizationImage = new VisualizationImage();
                        visualizationImage.Visualization = parameter.Visualization;
                        visualizationImage.FilePath      = parameter.FilePath;
                        photo.VisualizationImages.Add(visualizationImage);
                    }
                }
            }
            catch (Exception exception)
            {
                MessageBox.Show(Properties.Resources.ExceptionDetails + " " + exception.ToString(), Properties.Resources.PhotoProcessingError);
            }
        }