in code_examples/dotnet_examples/image/net-image-orientation-bounding-box.cs [76:116]
public static void ShowBoundingBoxPositions(int imageHeight, int imageWidth, BoundingBox box, String rotation)
{
float left = 0;
float top = 0;
if (rotation == null)
{
Console.WriteLine("No estimated estimated orientation. Check Exif data.");
return;
}
//Calculate face position based on image orientation.
switch (rotation)
{
case "ROTATE_0":
left = imageWidth * box.Left;
top = imageHeight * box.Top;
break;
case "ROTATE_90":
left = imageHeight * (1 - (box.Top + box.Height));
top = imageWidth * box.Left;
break;
case "ROTATE_180":
left = imageWidth - (imageWidth * (box.Left + box.Width));
top = imageHeight * (1 - (box.Top + box.Height));
break;
case "ROTATE_270":
left = imageHeight * box.Top;
top = imageWidth * (1 - box.Left - box.Width);
break;
default:
Console.WriteLine("No estimated orientation information. Check Exif data.");
return;
}
//Display face location information.
Console.WriteLine("Left: " + left);
Console.WriteLine("Top: " + top);
Console.WriteLine("Face Width: " + imageWidth * box.Width);
Console.WriteLine("Face Height: " + imageHeight * box.Height);
}