public static bool kollaKamera( FMain frmMain, eosPresets.PresetType pt ) { if ( s_fKameraInst_VarnaInte ) return true; var camera = frmMain.Camera; if (!s_fKamera_HarTagitNågonBild) switch (camera.CameraType) { case CameraType.EOS_5D: case CameraType.EOS_5D_MarkII: const string info = "Plåta kan för närvarande inte kontrollera vissa viktiga inställningar på en 5D-kamera. " + "Snälla, kontrollera följande inställning:\r\n" + " * Färgrymd ska vara \"sRGB\"\r\n" + "Stämmer detta?"; if (Global.askMsgBox(frmMain, info, true) != DialogResult.Yes) { Global.showMsgBox(frmMain, "Ändra inställningen och ta om bilden!"); return false; } break; } s_fKamera_HarTagitNågonBild = true; if ( pt==eosPresets.PresetType.IndoorPortrait && !s_fKamera_HarTagitPorträtt ) { s_fKamera_HarTagitPorträtt = true; if ( Global.askMsgBox( frmMain, "Har du fotograferat ett gråkort och ställt vitbalansen efter det?", true ) != DialogResult.Yes ) { Global.showMsgBox( frmMain, "Gör det först!" ); return false; } } var currentSettings = eosPresets.Preset.GetCurrentCameraSettings(camera); var astrCurrent = cameraSettingsToText(camera,getDefaultSettings(pt, camera.CameraType)); var astrPreset = cameraSettingsToText(camera, currentSettings); var fDiff = false; for (var i = 0; i < astrCurrent.Length; i++) if ( i != 7 && astrCurrent[i].Length!=0 && astrCurrent[i] != "N/A" ) if ( string.Compare(astrCurrent[i],astrPreset[i])!=0 ) fDiff = true; if ( fDiff ) using ( var dlg = new FKollaKamera(astrCurrent,astrPreset) ) { dlg.ShowDialog(frmMain); switch ( dlg.Svar ) { case AnvändarensSvar.OK_ändra_inte_standard: return true; case AnvändarensSvar.OK_ändra_standard: if ( s_hashDefaultSettings.ContainsKey(pt) ) s_hashDefaultSettings.Remove( pt ); s_hashDefaultSettings.Add( pt, currentSettings ); return true; case AnvändarensSvar.OK_varna_inte_alls: s_fKameraInst_VarnaInte = true; return true; default: //kasta bilden return false; } } return true; }
private static string[] cameraSettingsToText( vdCamera.vdCamera camera, eosPresets.Preset preset ) { var result = new string[9]; var tr = camera.Translation; result[0] = tr.ShutterSpeed.Text(preset.TV, string.Empty); result[1] = tr.Aperture.Text(preset.AV, string.Empty); result[2] = tr.ISO.Text(preset.ISO); result[3] = tr.WhiteBalance.Text(preset.WB); result[4] = preset.KelvinText; result[5] = tr.ShootingMode.Text(preset.Mode); result[6] = string.Format("{0}/{1}/{2}/{3}/{4}", tr.Parameters.Text(preset.ParameterSet), preset.SharpnessText, preset.ContrastText, preset.SaturationText, preset.ColorToneText); result[7] = tr.ColorMatrix.Text(preset.ColorMatrix); result[8] = preset.ImageTypeSize; return result; }
private static eosPresets.Preset getDefaultSettings( eosPresets.PresetType pt, vdCamera.CameraType cameraType ) { if ( s_hashDefaultSettings.ContainsKey(pt) ) return (eosPresets.Preset)s_hashDefaultSettings[pt]; return eosPresets.GetPreset( pt, cameraType ); }
private void loadPresets( eosPresets.PresetType pt ) { var p = eosPresets.GetPreset( pt, _cameraType ); var tr = _camera.Translation; var tim = tr.ShutterSpeed.Map(p.TV); if ( tim!=null ) cboSlutartid.SelectedItem = tim; tim = tr.Aperture.Map(p.AV); if ( tim!=null ) cboBländarsteg.SelectedItem = tim; tim = tr.ISO.Map(p.ISO); if ( tim!=null ) cboISO.SelectedItem = tim; tim = tr.ShootingMode.Map(p.Mode); if ( tim!=null ) cboMode.SelectedItem = tim; tim = tr.WhiteBalance.Map(p.WB); txtKelvin1.Text = p.KelvinText; if ( tim!=null ) cboVitbalans.SelectedItem = tim; tim = tr.Parameters.Map(p.ParameterSet); if ( tim!=null ) cboParameter.SelectedItem = tim; txtSkärpa1.Text = p.SharpnessText; txtKontrast1.Text = p.ContrastText; txtMättnad1.Text = p.SaturationText; txtFärgton1.Text = p.ColorToneText; tim = tr.ColorMatrix.Map(p.ColorMatrix); if ( tim!=null ) cboColorMatrix.SelectedItem = tim; txtFilformat1.Text = p.ImageTypeSize; }