Browse Source

Check determinant and update error message.

pull/1574/head
James Jackson-South 6 years ago
parent
commit
18a2554d85
  1. 4
      src/ImageSharp/Processing/AffineTransformBuilder.cs
  2. 4
      src/ImageSharp/Processing/ProjectiveTransformBuilder.cs

4
src/ImageSharp/Processing/AffineTransformBuilder.cs

@ -287,9 +287,9 @@ namespace SixLabors.ImageSharp.Processing
matrix *= factory(size);
}
if (TransformUtilities.IsNaN(matrix))
if (TransformUtilities.IsNaN(matrix) || matrix.GetDeterminant() == 0)
{
throw new DegenerateTransformException("Matrix is NaN. Check input values.");
throw new DegenerateTransformException("Matrix is degenerate. Check input values.");
}
return matrix;

4
src/ImageSharp/Processing/ProjectiveTransformBuilder.cs

@ -303,9 +303,9 @@ namespace SixLabors.ImageSharp.Processing
matrix *= factory(size);
}
if (TransformUtilities.IsNaN(matrix))
if (TransformUtilities.IsNaN(matrix) || matrix.GetDeterminant() == 0)
{
throw new DegenerateTransformException("Matrix is NaN. Check input values.");
throw new DegenerateTransformException("Matrix is degenerate. Check input values.");
}
return matrix;

Loading…
Cancel
Save