Highlight and crop an image in C#

This example shows how to create an image from the area defined by a highlighted region located on top of a document displayed within the GdViewer object. Highlighted regions can be used to specify areas and highlight them using only the mouse.


C#
//We assume that GdPicture has been correctly installed and unlocked.
//We assume the GdViewer object called GdViewer1 has been created and painted on the form.
GdPictureImaging oGdPictureImaging = new GdPictureImaging();
//Loading the image from a file.
int currentImageID = oGdPictureImaging.CreateGdPictureImageFromFile("C:\\Image.tif");
//Checking if the image resource has been loaded correctly.
if (oGdPictureImaging.GetStat() != GdPictureStatus.OK)
{
MessageBox.Show("The image can't be loaded. Error: " + oGdPictureImaging.GetStat().ToString(), "Drawing regions Example", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
else
{
//Displaying the image in the GdViewer.
GdViewer1.DisplayFromGdPictureImage(currentImageID);
}
//We will keep the current image for further use, see below.
int selectedImageID = 0; //A new image we are going to create.
//On the Mouse UP event on the GdViewer, get a highlighted region coordinates based on the rectangle of selection of the GdViewer.
//If no rectangle of selection is painted on the GdViewer, this event will do nothing.
public void Mouse_UP_Draw_Region(System.Object eventSender, System.EventArgs eventArgs)
{
//Initializing variables to hold the position of the rectangle of selection on the document.
int leftArea = 0;
int topArea = 0;
int widthArea = 0;
int heightArea = 0;
//Checking if a rectangle of selection has been painted on the GdViewer.
if (GdViewer1.IsRect())
{
//Getting the location of the selection on the document.
GdViewer1.GetRectCoordinatesOnDocument(ref leftArea, ref topArea, ref widthArea, ref heightArea);
//Creating the image from the highlighted region.
selectedImageID = oGdPictureImaging.CreateClonedGdPictureImageArea(currentImageID, leftArea, topArea, widthArea, heightArea);
GdViewer1.DisplayFromGdPictureImage(selectedImageID);
}
}
// Do not forget to release and dispose both images!
oGdPictureImaging.ReleaseGdPictureImage(currentImageID);
oGdPictureImaging.ReleaseGdPictureImage(selectedImageID);
oGdPictureImaging.Dispose();

This code sample is an example that illustrates how to use our SDK. Please adapt it to your specific use case.