Assuming the image you have to work with is rotated on both x- and y- axes ... in other words, it's a "mirror image."
In C#: Button 'btnFlipXY, and PictureBox 'pbxImage on a Form. PictureBox 'SizeMode Property set to 'AutoSize
using System.Drawing;
private void btnFlipXY_Click(object sender, EventArgs e)
{
Bitmap theImage = pbxImage.Image as Bitmap;
theImage.RotateFlip(RotateFlipType.RotateNoneFlipXY);
pbxImage.Image = theImage;
}
Click the Button once and select the Points, and store the Points in whatever data-structure you've chosen. Click a second time, and the image is restored to its original orientation.
In VB.NET WinForms:
Private Sub btnFlipXY_Click(sender As Object, e As EventArgs) Handles btnFlipXY.Click
Dim theImage
theImage = pbxImage.Image
theImage.RotateFlip(RotateFlipType.RotateNoneFlipXY)
pbxImage.Image = theImage
End Sub
This is the first time I have ever coded in VB, so I don't know why a conversion of the PictureBox.Image to Type 'Bitmap is not required in VB. A quick search on the web suggests this declaration would be better:
Dim theImage As New Bitmap(pbxImage.Image)