diff options
| author | Dennis Brentjes <d.brentjes@gmail.com> | 2019-12-24 16:45:22 +0100 |
|---|---|---|
| committer | Dennis Brentjes <d.brentjes@gmail.com> | 2019-12-24 16:45:22 +0100 |
| commit | fbe866f7b26c10bb54d72c029f8c628988a90be2 (patch) | |
| tree | 7617f1209333ff40c31aa156d541e8ea59e991ed /Services | |
| parent | 0f98b398520a3f5cc6a299e7fd3b8fab494480d7 (diff) | |
| download | avalar-fbe866f7b26c10bb54d72c029f8c628988a90be2.tar.gz avalar-fbe866f7b26c10bb54d72c029f8c628988a90be2.tar.bz2 avalar-fbe866f7b26c10bb54d72c029f8c628988a90be2.zip | |
Started on the resizing step of the pipeline + pipeline design.
Diffstat (limited to 'Services')
| -rw-r--r-- | Services/IProcessor.cs | 9 | ||||
| -rw-r--r-- | Services/Resizer/IResizer.cs | 7 | ||||
| -rw-r--r-- | Services/Resizer/ImageMagickResizer.cs | 26 |
3 files changed, 42 insertions, 0 deletions
diff --git a/Services/IProcessor.cs b/Services/IProcessor.cs new file mode 100644 index 0000000..11e83ab --- /dev/null +++ b/Services/IProcessor.cs @@ -0,0 +1,9 @@ +using Avalonia.Media.Imaging; + +namespace Avalar.Services +{ + public interface IProcessor + { + IBitmap Process(IBitmap bitmap); + } +} diff --git a/Services/Resizer/IResizer.cs b/Services/Resizer/IResizer.cs new file mode 100644 index 0000000..e71d4f1 --- /dev/null +++ b/Services/Resizer/IResizer.cs @@ -0,0 +1,7 @@ + +namespace Avalar.Services.Resizer +{ + public interface IResizer : IProcessor + { + } +} diff --git a/Services/Resizer/ImageMagickResizer.cs b/Services/Resizer/ImageMagickResizer.cs new file mode 100644 index 0000000..e48e576 --- /dev/null +++ b/Services/Resizer/ImageMagickResizer.cs @@ -0,0 +1,26 @@ + +using Avalonia.Media.Imaging; +using ImageMagick; +using System.IO; + +namespace Avalar.Services.Resizer +{ + public class ImageMagickResizer : IResizer + { + public IBitmap Process(IBitmap bitmap) + { + using (var stream = new MemoryStream()) + { + bitmap?.Save(stream); + using (var image = new MagickImage(stream)) + { + image.Resize(300, 300); + using (var stream2 = new MemoryStream()) + { + return new Bitmap(stream2); + } + } + } + } + } +} |
