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(); } } }