diff options
| author | Luke <luke.pulverenti@gmail.com> | 2016-03-02 16:06:25 -0500 |
|---|---|---|
| committer | Luke <luke.pulverenti@gmail.com> | 2016-03-02 16:06:25 -0500 |
| commit | 8fc7d7ba026ed871524055738dc33ddcac5e674d (patch) | |
| tree | b29a3df950c4c4d560701dc4bd1a9a2529dc53ea /Emby.Drawing/ImageMagick/ImageMagickEncoder.cs | |
| parent | 9638b242a4c8f614ed4ffa256422cd0ba3a029e2 (diff) | |
| parent | 81e96ed4f678b4de114e9d03844141ae65b5856b (diff) | |
Merge pull request #1514 from MediaBrowser/beta
Beta
Diffstat (limited to 'Emby.Drawing/ImageMagick/ImageMagickEncoder.cs')
| -rw-r--r-- | Emby.Drawing/ImageMagick/ImageMagickEncoder.cs | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/Emby.Drawing/ImageMagick/ImageMagickEncoder.cs b/Emby.Drawing/ImageMagick/ImageMagickEncoder.cs index b8300ac97..cb60d1123 100644 --- a/Emby.Drawing/ImageMagick/ImageMagickEncoder.cs +++ b/Emby.Drawing/ImageMagick/ImageMagickEncoder.cs @@ -155,6 +155,7 @@ namespace Emby.Drawing.ImageMagick AutoOrientImage(originalImage); } + AddForegroundLayer(originalImage, options); DrawIndicator(originalImage, width, height, options); originalImage.CurrentImage.CompressionQuality = quality; @@ -177,6 +178,8 @@ namespace Emby.Drawing.ImageMagick } wand.CurrentImage.CompositeImage(originalImage, CompositeOperator.OverCompositeOp, 0, 0); + + AddForegroundLayer(wand, options); DrawIndicator(wand, width, height, options); wand.CurrentImage.CompressionQuality = quality; @@ -189,6 +192,23 @@ namespace Emby.Drawing.ImageMagick SaveDelay(); } + private void AddForegroundLayer(MagickWand wand, ImageProcessingOptions options) + { + if (string.IsNullOrWhiteSpace(options.ForegroundLayer)) + { + return; + } + + Double opacity; + if (!Double.TryParse(options.ForegroundLayer, out opacity)) opacity = .4; + + using (var pixel = new PixelWand("#000", opacity)) + using (var overlay = new MagickWand(wand.CurrentImage.Width, wand.CurrentImage.Height, pixel)) + { + wand.CurrentImage.CompositeImage(overlay, CompositeOperator.OverCompositeOp, 0, 0); + } + } + private void AutoOrientImage(MagickWand wand) { wand.CurrentImage.AutoOrientImage(); |
