public static Matrix4x4 CalculateStampMatrix(Vector2 position, Vector2 size, float angle) { var t = D2D_Helper.TranslationMatrix(position.x, position.y, 0.0f); var r = D2D_Helper.RotationMatrix(Quaternion.Euler(0.0f, 0.0f, angle)); var s = D2D_Helper.ScalingMatrix(size.x, size.y, 1.0f); var o = D2D_Helper.TranslationMatrix(-0.5f, -0.5f, 0.0f); // Centre stamp return(t * r * s * o); }