Browse Source

stub out ForegroundLayer param

Luke Pulverenti 9 years ago
parent
commit
c7fe8587cb

+ 13 - 0
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,16 @@ namespace Emby.Drawing.ImageMagick
             SaveDelay();
         }
 
+        private void AddForegroundLayer(MagickWand wand, ImageProcessingOptions options)
+        {
+            if (string.IsNullOrWhiteSpace(options.ForegroundLayer))
+            {
+                return;
+            }
+            
+            // TODO
+        }
+
         private void AutoOrientImage(MagickWand wand)
         {
             wand.CurrentImage.AutoOrientImage();

+ 6 - 1
Emby.Drawing/ImageProcessor.cs

@@ -473,7 +473,7 @@ namespace Emby.Drawing
         /// <summary>
         /// Gets the cache file path based on a set of parameters
         /// </summary>
-        private string GetCacheFilePath(string originalPath, ImageSize outputSize, int quality, DateTime dateModified, ImageFormat format, bool addPlayedIndicator, double percentPlayed, int? unwatchedCount, string backgroundColor)
+        private string GetCacheFilePath(string originalPath, ImageSize outputSize, int quality, DateTime dateModified, ImageFormat format, bool addPlayedIndicator, double percentPlayed, int? unwatchedCount, string backgroundColor, string foregroundLayer)
         {
             var filename = originalPath;
 
@@ -507,6 +507,11 @@ namespace Emby.Drawing
                 filename += "b=" + backgroundColor;
             }
 
+            if (!string.IsNullOrEmpty(foregroundLayer))
+            {
+                filename += "fl=" + foregroundLayer;
+            }
+
             filename += "v=" + Version;
 
             return GetCachePath(ResizedImageCachePath, filename, "." + format.ToString().ToLower());

+ 4 - 1
MediaBrowser.Api/Images/ImageRequest.cs

@@ -66,7 +66,10 @@ namespace MediaBrowser.Api.Images
 
         [ApiMember(Name = "BackgroundColor", Description = "Optional. Apply a background color for transparent images.", IsRequired = false, DataType = "string", ParameterType = "query", Verb = "GET")]
         public string BackgroundColor { get; set; }
-        
+
+        [ApiMember(Name = "ForegroundLayer", Description = "Optional. Apply a foreground layer on top of the image.", IsRequired = false, DataType = "string", ParameterType = "query", Verb = "GET")]
+        public string ForegroundLayer { get; set; }
+
         public ImageRequest()
         {
             EnableImageEnhancers = true;

+ 1 - 0
MediaBrowser.Api/Images/ImageService.cs

@@ -624,6 +624,7 @@ namespace MediaBrowser.Api.Images
                 PercentPlayed = request.PercentPlayed ?? 0,
                 UnplayedCount = request.UnplayedCount,
                 BackgroundColor = request.BackgroundColor,
+                ForegroundLayer = request.ForegroundLayer,
                 SupportedOutputFormats = supportedFormats
             };
 

+ 3 - 1
MediaBrowser.Controller/Drawing/ImageProcessingOptions.cs

@@ -39,6 +39,7 @@ namespace MediaBrowser.Controller.Drawing
         public double PercentPlayed { get; set; }
 
         public string BackgroundColor { get; set; }
+        public string ForegroundLayer { get; set; }
 
         public bool HasDefaultOptions(string originalImagePath)
         {
@@ -83,7 +84,8 @@ namespace MediaBrowser.Controller.Drawing
                 !AddPlayedIndicator &&
                 PercentPlayed.Equals(0) &&
                 !UnplayedCount.HasValue &&
-                string.IsNullOrEmpty(BackgroundColor);
+                string.IsNullOrEmpty(BackgroundColor) &&
+                string.IsNullOrEmpty(ForegroundLayer);
         }
 
         private bool IsFormatSupported(string originalImagePath)