Browse Source

closes #269

af/merge-core
ascensio 9 years ago
parent
commit
14ec39e17e
  1. 2
      src/ImageSharp/Processing/Processors/Transforms/RotateProcessor.cs
  2. 54
      tests/ImageSharp.Tests/Image/ImageRotationTests.cs

2
src/ImageSharp/Processing/Processors/Transforms/RotateProcessor.cs

@ -79,7 +79,7 @@ namespace ImageSharp.Processing.Processors
return;
}
this.processMatrix = Matrix3x2Extensions.CreateRotation(-this.Angle, new Point(0, 0));
this.processMatrix = Matrix3x2Extensions.CreateRotationDegrees(-this.Angle, new Point(0, 0));
if (this.Expand)
{
this.CreateNewCanvas(sourceRectangle, this.processMatrix);

54
tests/ImageSharp.Tests/Image/ImageRotationTests.cs

@ -0,0 +1,54 @@
using SixLabors.Primitives;
using Xunit;
namespace ImageSharp.Tests
{
public class ImageRotationTests
{
[Fact]
public void RotateImageByMinus90Degrees()
{
(Size original, Size rotated) = Rotate(-90);
Assert.Equal(new Size(original.Height, original.Width), rotated);
}
[Fact]
public void RotateImageBy90Degrees()
{
(Size original, Size rotated) = Rotate(90);
Assert.Equal(new Size(original.Height, original.Width), rotated);
}
[Fact]
public void RotateImageBy180Degrees()
{
(Size original, Size rotated) = Rotate(180);
Assert.Equal(original, rotated);
}
[Fact]
public void RotateImageBy270Degrees()
{
(Size original, Size rotated) = Rotate(270);
Assert.Equal(new Size(original.Height, original.Width), rotated);
}
[Fact]
public void RotateImageBy360Degrees()
{
(Size original, Size rotated) = Rotate(360);
Assert.Equal(original, rotated);
}
private static (Size original, Size rotated) Rotate(int angle)
{
TestFile file = TestFile.Create(TestImages.Bmp.Car);
using (Image<Rgba32> image = Image.Load<Rgba32>(file.FilePath))
{
Size expected = image.Bounds.Size;
image.Rotate(angle);
return (expected, image.Bounds.Size);
}
}
}
}
Loading…
Cancel
Save