public SurroundedFilter() { Name = "Surrounded"; ShortDescription = "HDR"; _hdrEffect = new HdrEffect(); CreateControl(); }
protected override void OnNavigatedTo(NavigationEventArgs e) { base.OnNavigatedTo(e); if (e.Parameter is IImageProvider) { var source = (IImageProvider)e.Parameter; ImageElement.Source = effect = new HdrEffect(source); } }
public RecipeDaisyChain(IImageProvider source, double factor) : base(source) { effect_1 = new HdrEffect(source); effect_2 = new FilterEffect(effect_1); if(factor>2) factor = 2; effect_2.Filters = new IFilter[] { new HueSaturationFilter(-1 + factor, 0), new LomoFilter() }; SetPipelineBeginEnd(effect_1, effect_2); }
// Protected implementation of Dispose pattern. protected override void Dispose(bool disposing) { if (disposed) return; if (disposing) { } if (effect_1 != null) { effect_1.Dispose(); effect_1 = null; } if (effect_2 != null) { effect_2.Dispose(); effect_2 = null; } disposed = true; // Call base class implementation. base.Dispose(disposing); }
async Task StartMediaCapture() { Debug.WriteLine("Starting MediaCapture"); app.MediaCapture = new MediaCapture(); var selectedDevice = _devices.FirstOrDefault(x => x.EnclosureLocation != null && x.EnclosureLocation.Panel == Windows.Devices.Enumeration.Panel.Back); if (selectedDevice == null) { selectedDevice = _devices.First(); } await app.MediaCapture.InitializeAsync(new MediaCaptureInitializationSettings { VideoDeviceId = selectedDevice.Id }); app.PreviewElement.Source = app.MediaCapture; _encodingPreviewProperties = app.MediaCapture.VideoDeviceController.GetAvailableMediaStreamProperties(MediaStreamType.VideoPreview); _encodingRecorderProperties = app.MediaCapture.VideoDeviceController.GetAvailableMediaStreamProperties(MediaStreamType.VideoRecord); ListAllResolutionDetails(); var selectedPreviewProperties = _encodingPreviewProperties.First(x => ((VideoEncodingProperties)x).Width == 800); ListResolutionDetails((VideoEncodingProperties)selectedPreviewProperties); await app.MediaCapture.VideoDeviceController.SetMediaStreamPropertiesAsync(MediaStreamType.VideoPreview, selectedPreviewProperties); var selectedRecordingProperties = _encodingRecorderProperties.First(x => ((VideoEncodingProperties)x).Width == _encodingRecorderProperties.Max(y => ((VideoEncodingProperties)y).Width)); ListResolutionDetails((VideoEncodingProperties)selectedRecordingProperties); await app.MediaCapture.VideoDeviceController.SetMediaStreamPropertiesAsync(MediaStreamType.VideoRecord, selectedRecordingProperties); PropertySet testSet = new PropertySet(); FilterEffect effect = new FilterEffect(); //LomoFilter lomoFilter = new LomoFilter(); //VignettingFilter vignettingFilter = new VignettingFilter(); //effect.Filters = new IFilter[] { lomoFilter, vignettingFilter }; HdrEffect hdrEffect = new HdrEffect(effect); List <IImageProvider> providers = new List <IImageProvider>(); providers.Add(effect); providers.Add(hdrEffect); testSet.Add(new KeyValuePair <string, object>("IImageProviders", providers)); await app.MediaCapture.AddEffectAsync(MediaStreamType.VideoPreview, "ImagingEffects.ImagingEffect", testSet); //app.MediaCapture.SetPreviewRotation(VideoRotation.Clockwise90Degrees); //need this if portrait mode or landscapeflipped. app.IsPreviewing = true; await app.MediaCapture.StartPreviewAsync(); if (app.MediaCapture.VideoDeviceController.FocusControl.Supported) //.SetPresetAsync(Windows.Media.Devices.FocusPreset.Manual); { await app.MediaCapture.VideoDeviceController.FocusControl.SetPresetAsync(Windows.Media.Devices.FocusPreset.Manual); } else { app.MediaCapture.VideoDeviceController.Focus.TrySetAuto(false); } }