diff options
Diffstat (limited to 'Services/ImageMagickBrightness.cs')
| -rw-r--r-- | Services/ImageMagickBrightness.cs | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/Services/ImageMagickBrightness.cs b/Services/ImageMagickBrightness.cs new file mode 100644 index 0000000..f69247e --- /dev/null +++ b/Services/ImageMagickBrightness.cs @@ -0,0 +1,25 @@ +using Avalar.Services.Interfaces; +using Avalonia.Media.Imaging; +using ImageMagick; +using ReactiveUI; +using System.IO; +using System.Threading; + +namespace Avalar.Services +{ + public class ImageMagickBrightness : ReactiveObject, IBrightness + { + int m_Brightness; + public int Brightness { + get => m_Brightness; + set => this.RaiseAndSetIfChanged(ref m_Brightness, value); + } + + public IBitmap Process(IBitmap input, CancellationToken token) + { + using var image = input.ToMagickImage(); + image.BrightnessContrast(new Percentage(Brightness), new Percentage(0)); + return image.ToBitmap(); + } + } +} |
