/// <summary> /// Aktualisiert die Einstellungen. /// </summary> /// <param name="vmr9">Der zu verwendende Darstellungsfilter.</param> internal void Update(VMR vmr9) { // Be safe try { // Unmap using (var vmr = vmr9.MarshalToManaged()) { // Attach to interface var mixer = (IVMRMixerControl)vmr.Object; // Current values var values = VMRProcAmpControl.Create(VMRProcAmpControlFlags.Brightness | VMRProcAmpControlFlags.Contrast | VMRProcAmpControlFlags.Hue | VMRProcAmpControlFlags.Saturation); // Fill values.Brightness = Brightness.Value; values.Saturation = Saturation.Value; values.Contrast = Contrast.Value; values.Hue = Hue.Value; // Send update mixer.SetProcAmpControl(0, ref values); } } catch { // Ignore any error } }
/// <summary> /// Erzeugt eine neue Beschreibung. /// </summary> /// <param name="vmr9">Der zu verwendende Darstellungsfilter.</param> internal PictureParameters(VMR vmr9) { // Unmap using (var vmr = vmr9.MarshalToManaged()) { // Attach to interface var mixer = (IVMRMixerControl)vmr.Object; // Current values var values = VMRProcAmpControl.Create(VMRProcAmpControlFlags.Brightness | VMRProcAmpControlFlags.Contrast | VMRProcAmpControlFlags.Hue | VMRProcAmpControlFlags.Saturation); // Load mixer.GetProcAmpControl(0, ref values); // Create Saturation = new ParameterSet(values.Saturation, mixer, VMRProcAmpControlFlags.Saturation); Brightness = new ParameterSet(values.Brightness, mixer, VMRProcAmpControlFlags.Brightness); Contrast = new ParameterSet(values.Contrast, mixer, VMRProcAmpControlFlags.Contrast); Hue = new ParameterSet(values.Hue, mixer, VMRProcAmpControlFlags.Hue); } }