/// <summary>
/// Converts a <see cref="SizeF"/> from destination to source coordinates.
/// </summary>
/// <remarks>
/// Only scale and rotation are applied when converting sizes; this is equivalent
/// to converting a direction vector, as direction vectors have only magnitude
/// and direction information, but no position.
/// </remarks>
public SizeF ConvertToSource(SizeF destinationDimensions)
{
PointF[] transformed = new PointF[] {destinationDimensions.ToPointF()};
Matrix inverse = this.CumulativeTransform.Clone();
inverse.Invert();
inverse.TransformVectors(transformed);
return new SizeF(transformed[0]);
}