aboutsummaryrefslogtreecommitdiff
path: root/Emby.Drawing/ImageMagick
diff options
context:
space:
mode:
authorLuke <luke.pulverenti@gmail.com>2015-05-12 10:55:26 -0400
committerLuke <luke.pulverenti@gmail.com>2015-05-12 10:55:26 -0400
commit033919685a56fb9cf2c0612e1d320bc2987f7291 (patch)
treed53751b885ab8f88bf18d2370026908753cd5a82 /Emby.Drawing/ImageMagick
parent46b26863d032643268375525170e67618d959464 (diff)
parent0f4a5ca9e6682e5f00bc54172b8083d42cbcd266 (diff)
Merge pull request #1100 from MediaBrowser/dev
3.0.5607.2
Diffstat (limited to 'Emby.Drawing/ImageMagick')
-rw-r--r--Emby.Drawing/ImageMagick/ImageMagickEncoder.cs9
-rw-r--r--Emby.Drawing/ImageMagick/StripCollageBuilder.cs64
2 files changed, 26 insertions, 47 deletions
diff --git a/Emby.Drawing/ImageMagick/ImageMagickEncoder.cs b/Emby.Drawing/ImageMagick/ImageMagickEncoder.cs
index 380c56059..ff4a8f55b 100644
--- a/Emby.Drawing/ImageMagick/ImageMagickEncoder.cs
+++ b/Emby.Drawing/ImageMagick/ImageMagickEncoder.cs
@@ -1,4 +1,5 @@
-using ImageMagickSharp;
+using System.Linq;
+using ImageMagickSharp;
using MediaBrowser.Common.Configuration;
using MediaBrowser.Controller.Drawing;
using MediaBrowser.Model.Drawing;
@@ -195,15 +196,15 @@ namespace Emby.Drawing.ImageMagick
if (ratio >= 1.4)
{
- new StripCollageBuilder(_appPaths).BuildThumbCollage(options.InputPaths, options.OutputPath, options.Width, options.Height, options.Text);
+ new StripCollageBuilder(_appPaths).BuildThumbCollage(options.InputPaths.ToList(), options.OutputPath, options.Width, options.Height, options.Text);
}
else if (ratio >= .9)
{
- new StripCollageBuilder(_appPaths).BuildSquareCollage(options.InputPaths, options.OutputPath, options.Width, options.Height, options.Text);
+ new StripCollageBuilder(_appPaths).BuildSquareCollage(options.InputPaths.ToList(), options.OutputPath, options.Width, options.Height, options.Text);
}
else
{
- new StripCollageBuilder(_appPaths).BuildPosterCollage(options.InputPaths, options.OutputPath, options.Width, options.Height, options.Text);
+ new StripCollageBuilder(_appPaths).BuildPosterCollage(options.InputPaths.ToList(), options.OutputPath, options.Width, options.Height, options.Text);
}
}
diff --git a/Emby.Drawing/ImageMagick/StripCollageBuilder.cs b/Emby.Drawing/ImageMagick/StripCollageBuilder.cs
index 7cdd0077d..a50a75ccd 100644
--- a/Emby.Drawing/ImageMagick/StripCollageBuilder.cs
+++ b/Emby.Drawing/ImageMagick/StripCollageBuilder.cs
@@ -2,7 +2,6 @@
using MediaBrowser.Common.Configuration;
using System;
using System.Collections.Generic;
-using System.Linq;
namespace Emby.Drawing.ImageMagick
{
@@ -15,7 +14,7 @@ namespace Emby.Drawing.ImageMagick
_appPaths = appPaths;
}
- public void BuildPosterCollage(IEnumerable<string> paths, string outputPath, int width, int height, string text)
+ public void BuildPosterCollage(List<string> paths, string outputPath, int width, int height, string text)
{
if (!string.IsNullOrWhiteSpace(text))
{
@@ -33,7 +32,7 @@ namespace Emby.Drawing.ImageMagick
}
}
- public void BuildSquareCollage(IEnumerable<string> paths, string outputPath, int width, int height, string text)
+ public void BuildSquareCollage(List<string> paths, string outputPath, int width, int height, string text)
{
if (!string.IsNullOrWhiteSpace(text))
{
@@ -51,7 +50,7 @@ namespace Emby.Drawing.ImageMagick
}
}
- public void BuildThumbCollage(IEnumerable<string> paths, string outputPath, int width, int height, string text)
+ public void BuildThumbCollage(List<string> paths, string outputPath, int width, int height, string text)
{
if (!string.IsNullOrWhiteSpace(text))
{
@@ -69,31 +68,10 @@ namespace Emby.Drawing.ImageMagick
}
}
- internal static string[] ProjectPaths(IEnumerable<string> paths, int count)
+ private MagickWand BuildThumbCollageWandWithText(List<string> paths, string text, int width, int height)
{
- var clone = paths.ToList();
- var list = new List<string>();
-
- while (list.Count < count)
- {
- foreach (var path in clone)
- {
- list.Add(path);
-
- if (list.Count >= count)
- {
- break;
- }
- }
- }
-
- return list.Take(count).ToArray();
- }
-
- private MagickWand BuildThumbCollageWandWithText(IEnumerable<string> paths, string text, int width, int height)
- {
- var inputPaths = ProjectPaths(paths, 8);
- using (var wandImages = new MagickWand(inputPaths))
+ var inputPaths = ImageHelpers.ProjectPaths(paths, 8);
+ using (var wandImages = new MagickWand(inputPaths.ToArray()))
{
var wand = new MagickWand(width, height);
wand.OpenImage("gradient:#111111-#111111");
@@ -165,10 +143,10 @@ namespace Emby.Drawing.ImageMagick
}
}
- private MagickWand BuildPosterCollageWand(IEnumerable<string> paths, int width, int height)
+ private MagickWand BuildPosterCollageWand(List<string> paths, int width, int height)
{
- var inputPaths = ProjectPaths(paths, 4);
- using (var wandImages = new MagickWand(inputPaths))
+ var inputPaths = ImageHelpers.ProjectPaths(paths, 4);
+ using (var wandImages = new MagickWand(inputPaths.ToArray()))
{
var wand = new MagickWand(width, height);
wand.OpenImage("gradient:#111111-#111111");
@@ -230,10 +208,10 @@ namespace Emby.Drawing.ImageMagick
}
}
- private MagickWand BuildPosterCollageWandWithText(IEnumerable<string> paths, string label, int width, int height)
+ private MagickWand BuildPosterCollageWandWithText(List<string> paths, string label, int width, int height)
{
- var inputPaths = ProjectPaths(paths, 4);
- using (var wandImages = new MagickWand(inputPaths))
+ var inputPaths = ImageHelpers.ProjectPaths(paths, 4);
+ using (var wandImages = new MagickWand(inputPaths.ToArray()))
{
var wand = new MagickWand(width, height);
wand.OpenImage("gradient:#111111-#111111");
@@ -305,10 +283,10 @@ namespace Emby.Drawing.ImageMagick
}
}
- private MagickWand BuildThumbCollageWand(IEnumerable<string> paths, int width, int height)
+ private MagickWand BuildThumbCollageWand(List<string> paths, int width, int height)
{
- var inputPaths = ProjectPaths(paths, 8);
- using (var wandImages = new MagickWand(inputPaths))
+ var inputPaths = ImageHelpers.ProjectPaths(paths, 8);
+ using (var wandImages = new MagickWand(inputPaths.ToArray()))
{
var wand = new MagickWand(width, height);
wand.OpenImage("gradient:#111111-#111111");
@@ -370,10 +348,10 @@ namespace Emby.Drawing.ImageMagick
}
}
- private MagickWand BuildSquareCollageWand(IEnumerable<string> paths, int width, int height)
+ private MagickWand BuildSquareCollageWand(List<string> paths, int width, int height)
{
- var inputPaths = ProjectPaths(paths, 4);
- using (var wandImages = new MagickWand(inputPaths))
+ var inputPaths = ImageHelpers.ProjectPaths(paths, 4);
+ using (var wandImages = new MagickWand(inputPaths.ToArray()))
{
var wand = new MagickWand(width, height);
wand.OpenImage("gradient:#111111-#111111");
@@ -435,10 +413,10 @@ namespace Emby.Drawing.ImageMagick
}
}
- private MagickWand BuildSquareCollageWandWithText(IEnumerable<string> paths, string label, int width, int height)
+ private MagickWand BuildSquareCollageWandWithText(List<string> paths, string label, int width, int height)
{
- var inputPaths = ProjectPaths(paths, 4);
- using (var wandImages = new MagickWand(inputPaths))
+ var inputPaths = ImageHelpers.ProjectPaths(paths, 4);
+ using (var wandImages = new MagickWand(inputPaths.ToArray()))
{
var wand = new MagickWand(width, height);
wand.OpenImage("gradient:#111111-#111111");