Browse Source

Fix resizer

Former-commit-id: 0f0d2739f45120a86ae6edccd317188bd5c55d4f
Former-commit-id: ccfc42ef41d6111c1b36d7eb724c6f56bcd3a6c9
Former-commit-id: cc921b9be1a33c5944c060d3712a2bac88ac1ca6
pull/17/head
James Jackson-South 10 years ago
parent
commit
71150eb356
  1. 6
      src/ImageProcessor/Samplers/ImageSampleExtensions.cs
  2. 19
      src/ImageProcessor/Samplers/Resize.cs
  3. 4
      tests/ImageProcessor.Tests/Filters/FilterTests.cs

6
src/ImageProcessor/Samplers/ImageSampleExtensions.cs

@ -12,17 +12,17 @@ namespace ImageProcessor.Samplers
{
public static Image Resize(this Image source, int width, int height)
{
return source.Process(width, height, default(Rectangle), default(Rectangle), new Resize(new BicubicResampler(), width, height));
return source.Process(width, height, default(Rectangle), default(Rectangle), new Resize(new BicubicResampler()));
}
public static Image Resize(this Image source, int width, int height, IResampler sampler)
{
return source.Process(width, height, default(Rectangle), default(Rectangle), new Resize(sampler, width, height));
return source.Process(width, height, default(Rectangle), default(Rectangle), new Resize(sampler));
}
public static Image Resize(this Image source, int width, int height, IResampler sampler, Rectangle sourceRectangle, Rectangle targetRectangle)
{
return source.Process(width, height, sourceRectangle, targetRectangle, new Resize(sampler, width, height));
return source.Process(width, height, sourceRectangle, targetRectangle, new Resize(sampler));
}
}
}

19
src/ImageProcessor/Samplers/Resize.cs

@ -10,15 +10,11 @@ namespace ImageProcessor.Samplers
/// <param name="sampler">
/// The sampler to perform the resize operation.
/// </param>
public Resize(IResampler sampler, int width, int height)
public Resize(IResampler sampler)
{
Guard.NotNull(sampler, nameof(sampler));
Guard.MustBeGreaterThan(width, 0, nameof(width));
Guard.MustBeGreaterThan(height, 0, nameof(height));
this.Sampler = sampler;
this.Width = width;
this.Height = height;
}
/// <summary>
@ -26,16 +22,6 @@ namespace ImageProcessor.Samplers
/// </summary>
public IResampler Sampler { get; }
/// <summary>
/// Gets the width.
/// </summary>
public int Width { get; }
/// <summary>
/// Gets the height.
/// </summary>
public int Height { get; }
/// <inheritdoc/>
protected override void Apply(
ImageBase target,
@ -51,6 +37,7 @@ namespace ImageProcessor.Samplers
int width = target.Width;
int height = target.Height;
int targetY = targetRectangle.Y;
int startX = targetRectangle.X;
int endX = targetRectangle.Right;
int right = (int)(this.Sampler.Radius + .5);
@ -69,7 +56,7 @@ namespace ImageProcessor.Samplers
if (y >= 0 && y < height)
{
// Y coordinates of source points.
double originY = ((startY - targetRectangle.Y) * heightFactor) - 0.5;
double originY = ((y - targetY) * heightFactor) - 0.5;
int originY1 = (int)originY;
double dy = originY - originY1;

4
tests/ImageProcessor.Tests/Filters/FilterTests.cs

@ -14,12 +14,12 @@ namespace ImageProcessor.Tests.Filters
{
public static readonly List<string> Files = new List<string>
{
//{ "../../TestImages/Formats/Jpg/Backdrop.jpg"},
{ "../../TestImages/Formats/Jpg/Backdrop.jpg"},
//{ "../../TestImages/Formats/Bmp/Car.bmp" },
//{ "../../TestImages/Formats/Png/cmyk.png" },
//{ "../../TestImages/Formats/Gif/a.gif" },
//{ "../../TestImages/Formats/Gif/leaf.gif" },
{ "../../TestImages/Formats/Gif/ani.gif" },
//{ "../../TestImages/Formats/Gif/ani.gif" },
//{ "../../TestImages/Formats/Gif/ani2.gif" },
//{ "../../TestImages/Formats/Gif/giphy.gif" },
};

Loading…
Cancel
Save