Transform.cs 1.1 KB

12345678910111213141516171819202122232425262728293031
  1. using PixiEditor.Models.Position;
  2. namespace PixiEditor.Models.ImageManipulation
  3. {
  4. public static class Transform
  5. {
  6. /// <summary>
  7. /// Returns translation between two coordinates.
  8. /// </summary>
  9. /// <param name="from">Starting coordinate.</param>
  10. /// <param name="to">New coordinate.</param>
  11. /// <returns>Translation as coordinate.</returns>
  12. public static Coordinates GetTranslation(Coordinates from, Coordinates to)
  13. {
  14. int translationX = to.X - from.X;
  15. int translationY = to.Y - from.Y;
  16. return new Coordinates(translationX, translationY);
  17. }
  18. public static Coordinates[] Translate(Coordinates[] points, Coordinates vector)
  19. {
  20. Coordinates[] translatedPoints = new Coordinates[points.Length];
  21. for (int i = 0; i < translatedPoints.Length; i++)
  22. {
  23. translatedPoints[i] = new Coordinates(points[i].X + vector.X, points[i].Y + vector.Y);
  24. }
  25. return translatedPoints;
  26. }
  27. }
  28. }