diff --git a/src/ImageSharp/Processing/AffineTransformBuilder.cs b/src/ImageSharp/Processing/AffineTransformBuilder.cs
index 4d798f4396..1620b72234 100644
--- a/src/ImageSharp/Processing/AffineTransformBuilder.cs
+++ b/src/ImageSharp/Processing/AffineTransformBuilder.cs
@@ -47,7 +47,7 @@ namespace SixLabors.ImageSharp.Processing
///
/// The amount of rotation, in degrees.
/// The .
- public AffineTransformBuilder PrependRotateMatrixDegrees(float degrees)
+ public AffineTransformBuilder PrependRotationDegrees(float degrees)
=> this.PrependMatrix(TransformUtils.CreateRotationMatrixDegrees(degrees, this.Size));
///
@@ -55,7 +55,7 @@ namespace SixLabors.ImageSharp.Processing
///
/// The amount of rotation, in radians.
/// The .
- public AffineTransformBuilder PrependRotateMatrixRadians(float radians)
+ public AffineTransformBuilder PrependRotationRadians(float radians)
=> this.PrependMatrix(TransformUtils.CreateRotationMatrixRadians(radians, this.Size));
///
@@ -63,32 +63,64 @@ namespace SixLabors.ImageSharp.Processing
///
/// The amount of rotation, in degrees.
/// The .
- public AffineTransformBuilder AppendRotateMatrixDegrees(float degrees)
- => this.AppendRotateMatrixRadians(ImageMaths.ToRadian(degrees));
+ public AffineTransformBuilder AppendRotationDegrees(float degrees)
+ => this.AppendRotationRadians(ImageMaths.ToRadian(degrees));
///
/// Appends a centered rotation matrix using the given rotation in radians.
///
/// The amount of rotation, in radians.
/// The .
- public AffineTransformBuilder AppendRotateMatrixRadians(float radians)
+ public AffineTransformBuilder AppendRotationRadians(float radians)
=> this.AppendMatrix(TransformUtils.CreateRotationMatrixRadians(radians, this.Size));
+ ///
+ /// Prepends a scale matrix from the given uniform scale.
+ ///
+ /// The uniform scale.
+ /// The .
+ public AffineTransformBuilder PrependScale(float scale)
+ => this.PrependMatrix(Matrix3x2.CreateScale(scale));
+
+ ///
+ /// Appends a scale matrix from the given uniform scale.
+ ///
+ /// The uniform scale.
+ /// The .
+ public AffineTransformBuilder AppendScale(float scale)
+ => this.AppendMatrix(Matrix3x2.CreateScale(scale));
+
///
/// Prepends a scale matrix from the given vector scale.
///
/// The horizontal and vertical scale.
/// The .
- public AffineTransformBuilder PrependScaleMatrix(SizeF scales)
- => this.PrependMatrix(Matrix3x2Extensions.CreateScale(scales));
+ public AffineTransformBuilder PrependScale(Vector2 scales)
+ => this.PrependMatrix(Matrix3x2.CreateScale(scales));
///
/// Appends a scale matrix from the given vector scale.
///
/// The horizontal and vertical scale.
/// The .
- public AffineTransformBuilder AppendScaleMatrix(SizeF scales)
- => this.AppendMatrix(Matrix3x2Extensions.CreateScale(scales));
+ public AffineTransformBuilder AppendScale(Vector2 scales)
+ => this.AppendMatrix(Matrix3x2.CreateScale(scales));
+
+ ///
+ /// Prepends a scale matrix from the given vector scale.
+ ///
+ /// The horizontal and vertical scale.
+ /// The .
+ public AffineTransformBuilder PrependScale(SizeF scale)
+ => this.PrependScale((Vector2)scale);
+
+ ///
+ /// Appends a scale matrix from the given vector scale.
+ ///
+ /// The horizontal and vertical scale.
+ /// The .
+ public AffineTransformBuilder AppendScale(SizeF scales)
+ => this.AppendScale((Vector2)scales);
///
/// Prepends a centered skew matrix from the give angles in degrees.
@@ -96,7 +128,7 @@ namespace SixLabors.ImageSharp.Processing
/// The X angle, in degrees.
/// The Y angle, in degrees.
/// The .
- public AffineTransformBuilder PrependSkewMatrixDegrees(float degreesX, float degreesY)
+ public AffineTransformBuilder PrependSkewDegrees(float degreesX, float degreesY)
=> this.PrependMatrix(TransformUtils.CreateSkewMatrixDegrees(degreesX, degreesY, this.Size));
///
@@ -105,7 +137,7 @@ namespace SixLabors.ImageSharp.Processing
/// The X angle, in degrees.
/// The Y angle, in degrees.
/// The .
- public AffineTransformBuilder AppendSkewMatrixDegrees(float degreesX, float degreesY)
+ public AffineTransformBuilder AppendSkewDegrees(float degreesX, float degreesY)
=> this.AppendMatrix(TransformUtils.CreateSkewMatrixDegrees(degreesX, degreesY, this.Size));
///
@@ -113,16 +145,32 @@ namespace SixLabors.ImageSharp.Processing
///
/// The translation position.
/// The .
- public AffineTransformBuilder PrependTranslationMatrix(PointF position)
- => this.PrependMatrix(Matrix3x2Extensions.CreateTranslation(position));
+ public AffineTransformBuilder PrependTranslation(PointF position)
+ => this.PrependTranslation((Vector2)position);
+
+ ///
+ /// Appends a translation matrix from the given vector.
+ ///
+ /// The translation position.
+ /// The .
+ public AffineTransformBuilder AppendTranslation(PointF position)
+ => this.AppendTranslation((Vector2)position);
+
+ ///
+ /// Prepends a translation matrix from the given vector.
+ ///
+ /// The translation position.
+ /// The .
+ public AffineTransformBuilder PrependTranslation(Vector2 position)
+ => this.PrependMatrix(Matrix3x2.CreateTranslation(position));
///
/// Appends a translation matrix from the given vector.
///
/// The translation position.
/// The .
- public AffineTransformBuilder AppendTranslationMatrix(PointF position)
- => this.AppendMatrix(Matrix3x2Extensions.CreateTranslation(position));
+ public AffineTransformBuilder AppendTranslation(Vector2 position)
+ => this.AppendMatrix(Matrix3x2.CreateTranslation(position));
///
/// Prepends a raw matrix.
diff --git a/tests/ImageSharp.Tests/Drawing/DrawImageTest.cs b/tests/ImageSharp.Tests/Drawing/DrawImageTest.cs
index 564318e5e3..a29342ad46 100644
--- a/tests/ImageSharp.Tests/Drawing/DrawImageTest.cs
+++ b/tests/ImageSharp.Tests/Drawing/DrawImageTest.cs
@@ -74,9 +74,9 @@ namespace SixLabors.ImageSharp.Tests
using (var blend = Image.Load(TestFile.Create(TestImages.Bmp.Car).Bytes))
{
AffineTransformBuilder builder = new AffineTransformBuilder(blend.Size())
- .AppendRotateMatrixDegrees(45F)
- .AppendScaleMatrix(new SizeF(.25F, .25F))
- .AppendTranslationMatrix(new PointF(10, 10));
+ .AppendRotationDegrees(45F)
+ .AppendScale(new SizeF(.25F, .25F))
+ .AppendTranslation(new PointF(10, 10));
// Apply a background color so we can see the translation.
blend.Mutate(x => x.Transform(builder).BackgroundColor(NamedColors.HotPink));
diff --git a/tests/ImageSharp.Tests/Processing/Transforms/AffineTransformBuilderTests.cs b/tests/ImageSharp.Tests/Processing/Transforms/AffineTransformBuilderTests.cs
index 1b4caee14f..639f4b46fa 100644
--- a/tests/ImageSharp.Tests/Processing/Transforms/AffineTransformBuilderTests.cs
+++ b/tests/ImageSharp.Tests/Processing/Transforms/AffineTransformBuilderTests.cs
@@ -36,13 +36,13 @@ namespace SixLabors.ImageSharp.Tests.Processing.Transforms
});
}
- protected override void AppendTranslation(AffineTransformBuilder builder, PointF translate) => builder.AppendTranslationMatrix(translate);
- protected override void AppendScale(AffineTransformBuilder builder, SizeF scale) => builder.AppendScaleMatrix(scale);
- protected override void AppendRotationRadians(AffineTransformBuilder builder, float radians) => builder.AppendRotateMatrixRadians(radians);
+ protected override void AppendTranslation(AffineTransformBuilder builder, PointF translate) => builder.AppendTranslation(translate);
+ protected override void AppendScale(AffineTransformBuilder builder, SizeF scale) => builder.AppendScale(scale);
+ protected override void AppendRotationRadians(AffineTransformBuilder builder, float radians) => builder.AppendRotationRadians(radians);
- protected override void PrependTranslation(AffineTransformBuilder builder, PointF translate) => builder.PrependTranslationMatrix(translate);
- protected override void PrependScale(AffineTransformBuilder builder, SizeF scale) => builder.PrependScaleMatrix(scale);
- protected override void PrependRotationRadians(AffineTransformBuilder builder, float radians) => builder.PrependRotateMatrixRadians(radians);
+ protected override void PrependTranslation(AffineTransformBuilder builder, PointF translate) => builder.PrependTranslation(translate);
+ protected override void PrependScale(AffineTransformBuilder builder, SizeF scale) => builder.PrependScale(scale);
+ protected override void PrependRotationRadians(AffineTransformBuilder builder, float radians) => builder.PrependRotationRadians(radians);
protected override Vector2 Execute(
AffineTransformBuilder builder,
diff --git a/tests/ImageSharp.Tests/Processing/Transforms/AffineTransformTests.cs b/tests/ImageSharp.Tests/Processing/Transforms/AffineTransformTests.cs
index 3d7fba2c19..e78bb2c6d9 100644
--- a/tests/ImageSharp.Tests/Processing/Transforms/AffineTransformTests.cs
+++ b/tests/ImageSharp.Tests/Processing/Transforms/AffineTransformTests.cs
@@ -80,7 +80,7 @@ namespace SixLabors.ImageSharp.Tests.Processing.Transforms
using (Image image = provider.GetImage())
{
AffineTransformBuilder builder = new AffineTransformBuilder(image.Size())
- .AppendRotateMatrixDegrees(30);
+ .AppendRotationDegrees(30);
image.Mutate(c => c.Transform(builder, resampler));
image.DebugSave(provider, resamplerName);
@@ -102,9 +102,9 @@ namespace SixLabors.ImageSharp.Tests.Processing.Transforms
{
image.DebugSave(provider, $"_original");
AffineTransformBuilder builder = new AffineTransformBuilder(image.Size())
- .AppendRotateMatrixDegrees(angleDeg)
- .AppendScaleMatrix(new SizeF(sx, sy))
- .AppendTranslationMatrix(new PointF(tx, ty));
+ .AppendRotationDegrees(angleDeg)
+ .AppendScale(new SizeF(sx, sy))
+ .AppendTranslation(new PointF(tx, ty));
this.PrintMatrix(builder.BuildMatrix());
@@ -124,8 +124,8 @@ namespace SixLabors.ImageSharp.Tests.Processing.Transforms
using (Image image = provider.GetImage())
{
AffineTransformBuilder builder = new AffineTransformBuilder(image.Size())
- .AppendRotateMatrixDegrees(angleDeg)
- .AppendScaleMatrix(new SizeF(s, s));
+ .AppendRotationDegrees(angleDeg)
+ .AppendScale(new SizeF(s, s));
image.Mutate(i => i.Transform(builder, KnownResamplers.Bicubic));
@@ -160,7 +160,7 @@ namespace SixLabors.ImageSharp.Tests.Processing.Transforms
{
image.DebugSave(provider, $"_original");
AffineTransformBuilder builder = new AffineTransformBuilder(rectangle)
- .AppendScaleMatrix(new SizeF(2, 1.5F));
+ .AppendScale(new SizeF(2, 1.5F));
image.Mutate(i => i.Transform(builder, KnownResamplers.Spline));
@@ -179,7 +179,7 @@ namespace SixLabors.ImageSharp.Tests.Processing.Transforms
using (Image image = provider.GetImage())
{
AffineTransformBuilder builder = new AffineTransformBuilder(rectangle)
- .AppendScaleMatrix(new SizeF(1F, 2F));
+ .AppendScale(new SizeF(1F, 2F));
image.Mutate(i => i.Transform(builder, KnownResamplers.Spline));
@@ -197,8 +197,8 @@ namespace SixLabors.ImageSharp.Tests.Processing.Transforms
using (Image image = provider.GetImage())
{
AffineTransformBuilder builder = new AffineTransformBuilder(image.Size())
- .AppendRotateMatrixDegrees(50)
- .AppendScaleMatrix(new SizeF(.6F, .6F));
+ .AppendRotationDegrees(50)
+ .AppendScale(new SizeF(.6F, .6F));
image.Mutate(i => i.Transform(builder, sampler));