private float[] ComputeAspectAngles()
{
int numColumns = renderer.NumberOfColumns;
int maxColumns = Math.Max(1, (renderer.Description.Length - 1) / 4); // maximum number of columns.
float[] aspectAnglesByColumns = new float[maxColumns + 1];
for (int i = 1; i <= maxColumns; ++i) {
renderer.NumberOfColumns = i;
SizeF size = renderer.Measure();
aspectAnglesByColumns[i] = (float)Math.Atan2(size.Height, size.Width);
}
renderer.NumberOfColumns = numColumns;
return aspectAnglesByColumns;
}