GetPageImageCoordinates Method (GdPicturePDF)
In This Topic
Returns the coordinates, related to the current page, of an image, specified by its index within the currently selected page of the loaded PDF document.
The coordinates are expressed in the currently defined units in the PDF document with respect to the currently defined origin, related to the actual page. You can use the GdPicturePDF.SetMeasurementUnit method to reset the units and the GdPicturePDF.SetOrigin method to reset the origin's location according to your preference.
Syntax
'Declaration
Public Function GetPageImageCoordinates( _
ByVal As Integer, _
ByRef As Single, _
ByRef As Single, _
ByRef As Single, _
ByRef As Single, _
ByRef As Single, _
ByRef As Single _
) As GdPictureStatus
public GdPictureStatus GetPageImageCoordinates(
int ,
ref float ,
ref float ,
ref float ,
ref float ,
ref float ,
ref float
)
public function GetPageImageCoordinates(
: Integer;
var : Single;
var : Single;
var : Single;
var : Single;
var : Single;
var : Single
): GdPictureStatus;
public function GetPageImageCoordinates(
: int,
: float,
: float,
: float,
: float,
: float,
: float
) : GdPictureStatus;
public: GdPictureStatus GetPageImageCoordinates(
int ,
ref float ,
ref float ,
ref float ,
ref float ,
ref float ,
ref float
)
public:
GdPictureStatus GetPageImageCoordinates(
int ,
float% ,
float% ,
float% ,
float% ,
float% ,
float%
)
Parameters
- ImageIdx
- The 0-based index of the image within the current page. It must be a value from 0 to GdPicturePDF.GetPageImageCount-1.
- x0
- Output parameter. The horizontal (X) coordinate of the top left point, where the image is located.
The returned value is expressed in the current units specified by the SetMeasurementUnit method with respect to the currently defined origin.
- y0
- Output parameter. The vertical (Y) coordinate of the top left point, where the image is located.
The returned value is expressed in the current units specified by the SetMeasurementUnit method with respect to the currently defined origin.
- x1
- Output parameter. The horizontal (X) coordinate of the top right point, where the image is located.
The returned value is expressed in the current units specified by the SetMeasurementUnit method with respect to the currently defined origin.
- y1
- Output parameter. The vertical (Y) coordinate of the top right point, where the image is located.
The returned value is expressed in the current units specified by the SetMeasurementUnit method with respect to the currently defined origin.
- x2
- Output parameter. The horizontal (X) coordinate of the bottom left point, where the image is located.
The returned value is expressed in the current units specified by the SetMeasurementUnit method with respect to the currently defined origin.
- y2
- Output parameter. The vertical (Y) coordinate of the bottom left point, where the image is located.
The returned value is expressed in the current units specified by the SetMeasurementUnit method with respect to the currently defined origin.
Return Value
A member of the GdPictureStatus enumeration. If the method has been successfully followed, then the return value is GdPictureStatus.OK.
We strongly recommend always checking this status first.
Example
How to find out the coordinates of all images contained within the PDF document.
Dim caption As String = "Example: GetPageImageCoordinates"
Dim gdpicturePDF As New GdPicturePDF()
If gdpicturePDF.LoadFromFile("test.pdf", False) = GdPictureStatus.OK Then
gdpicturePDF.SetOrigin(PdfOrigin.PdfOriginTopLeft)
Dim message As String = ""
Dim imageCount As Integer = 0
Dim x0 As Single = 0, y0 As Single = 0, x1 As Single = 0, y1 As Single = 0, x2 As Single = 0, y2 As Single = 0
Dim pageCount As Integer = gdpicturePDF.GetPageCount()
Dim status As GdPictureStatus = gdpicturePDF.GetStat()
If (status = GdPictureStatus.OK) AndAlso (pageCount > 0) Then
For i As Integer = 1 To pageCount
If gdpicturePDF.SelectPage(i) = GdPictureStatus.OK Then
message = message + "Page nr." + i.ToString() + ":" + vbCrLf
imageCount = gdpicturePDF.GetPageImageCount()
status = gdpicturePDF.GetStat()
If (status = GdPictureStatus.OK) AndAlso (imageCount > 0) Then
For j As Integer = 0 To imageCount - 1
status = gdpicturePDF.GetPageImageCoordinates(j, x0, y0, x1, y1, x2, y2)
If status = GdPictureStatus.OK Then
message = message + "The image indexed as " + j.ToString() + " has the following coordinates:" + vbCrLf +
"TL[" + x0.ToString() + "," + y0.ToString() + "], TR[" + x1.ToString() + "," + y1.ToString() + "], BL[" + x2.ToString() + "," + y2.ToString() + "]" + vbCrLf
Else
message = message + "The GetPageImageCoordinates() method has failed for the image nr. " + j.ToString() + " with the status: " + status.ToString() + vbCrLf
End If
Next
Else
If status = GdPictureStatus.OK Then
message = message + "This page doesn't contain any image." + vbCrLf
Else
message = message + "The GetPageImageCount() method has failed for the page nr. " + i.ToString() + " with the status: " + status.ToString() + vbCrLf
End If
End If
Else
message = message + "The SelectPage() method has failed for the image nr. " + i.ToString() + " with the status: " + gdpicturePDF.GetStat().ToString() + vbCrLf
End If
Next
MessageBox.Show(message, caption)
Else
If status = GdPictureStatus.OK Then
MessageBox.Show("This file doesn't contain any page.", caption)
Else
MessageBox.Show("The GetPageCount() method has failed with the status: " + status.ToString(), caption)
End If
End If
Else
MessageBox.Show("The file can't be loaded.", caption)
End If
gdpicturePDF.Dispose()
string caption = "Example: GetPageImageCoordinates";
GdPicturePDF gdpicturePDF = new GdPicturePDF();
if (gdpicturePDF.LoadFromFile("test.pdf", false) == GdPictureStatus.OK)
{
gdpicturePDF.SetOrigin(PdfOrigin.PdfOriginTopLeft);
string message = "";
int imageCount = 0;
float x0 = 0, y0 = 0, x1 = 0, y1 = 0, x2 = 0, y2 = 0;
int pageCount = gdpicturePDF.GetPageCount();
GdPictureStatus status = gdpicturePDF.GetStat();
if ((status == GdPictureStatus.OK) && (pageCount > 0))
{
for (int i = 1; i <= pageCount; i++)
{
if (gdpicturePDF.SelectPage(i) == GdPictureStatus.OK)
{
message = message + "Page nr." + i.ToString() + ":\n";
imageCount = gdpicturePDF.GetPageImageCount();
status = gdpicturePDF.GetStat();
if ((status == GdPictureStatus.OK) && (imageCount > 0))
{
for (int j = 0; j < imageCount; j++)
{
status = gdpicturePDF.GetPageImageCoordinates(j, ref x0, ref y0, ref x1, ref y1, ref x2, ref y2);
if (status == GdPictureStatus.OK)
message = message + "The image indexed as " + j.ToString() + " has the following coordinates:\nTL[" +
x0.ToString() + "," + y0.ToString() + "], TR[" + x1.ToString() + "," + y1.ToString() + "], BL[" +
x2.ToString() + "," + y2.ToString() + "]\n";
else
message = message + "The GetPageImageCoordinates() method has failed for the image nr. " + j.ToString() + " with the status: " + status.ToString() + "\n";
}
}
else
{
if (status == GdPictureStatus.OK)
message = message + "This page doesn't contain any image.\n";
else
message = message + "The GetPageImageCount() method has failed for the page nr. " + i.ToString() + " with the status: " + status.ToString() + "\n";
}
}
else
{
message = message + "The SelectPage() method has failed for the image nr. " + i.ToString() + " with the status: " + gdpicturePDF.GetStat().ToString() + "\n";
}
}
MessageBox.Show(message, caption);
}
else
{
if (status == GdPictureStatus.OK)
MessageBox.Show("This file doesn't contain any page.", caption);
else
MessageBox.Show("The GetPageCount() method has failed with the status: " + status.ToString(), caption);
}
}
else
MessageBox.Show("The file can't be loaded.", caption);
gdpicturePDF.Dispose();
Example
How to find out the coordinates of all images contained within the PDF document.
Dim caption As String = "Example: GetPageImageCoordinates"
Dim gdpicturePDF As New GdPicturePDF()
If gdpicturePDF.LoadFromFile("test.pdf", False) = GdPictureStatus.OK Then
gdpicturePDF.SetOrigin(PdfOrigin.PdfOriginTopLeft)
Dim message As String = ""
Dim imageCount As Integer = 0
Dim x0 As Single = 0, y0 As Single = 0, x1 As Single = 0, y1 As Single = 0, x2 As Single = 0, y2 As Single = 0
Dim pageCount As Integer = gdpicturePDF.GetPageCount()
Dim status As GdPictureStatus = gdpicturePDF.GetStat()
If (status = GdPictureStatus.OK) AndAlso (pageCount > 0) Then
For i As Integer = 1 To pageCount
If gdpicturePDF.SelectPage(i) = GdPictureStatus.OK Then
message = message + "Page nr." + i.ToString() + ":" + vbCrLf
imageCount = gdpicturePDF.GetPageImageCount()
status = gdpicturePDF.GetStat()
If (status = GdPictureStatus.OK) AndAlso (imageCount > 0) Then
For j As Integer = 0 To imageCount - 1
status = gdpicturePDF.GetPageImageCoordinates(j, x0, y0, x1, y1, x2, y2)
If status = GdPictureStatus.OK Then
message = message + "The image indexed as " + j.ToString() + " has the following coordinates:" + vbCrLf +
"TL[" + x0.ToString() + "," + y0.ToString() + "], TR[" + x1.ToString() + "," + y1.ToString() + "], BL[" + x2.ToString() + "," + y2.ToString() + "]" + vbCrLf
Else
message = message + "The GetPageImageCoordinates() method has failed for the image nr. " + j.ToString() + " with the status: " + status.ToString() + vbCrLf
End If
Next
Else
If status = GdPictureStatus.OK Then
message = message + "This page doesn't contain any image." + vbCrLf
Else
message = message + "The GetPageImageCount() method has failed for the page nr. " + i.ToString() + " with the status: " + status.ToString() + vbCrLf
End If
End If
Else
message = message + "The SelectPage() method has failed for the image nr. " + i.ToString() + " with the status: " + gdpicturePDF.GetStat().ToString() + vbCrLf
End If
Next
MessageBox.Show(message, caption)
Else
If status = GdPictureStatus.OK Then
MessageBox.Show("This file doesn't contain any page.", caption)
Else
MessageBox.Show("The GetPageCount() method has failed with the status: " + status.ToString(), caption)
End If
End If
Else
MessageBox.Show("The file can't be loaded.", caption)
End If
gdpicturePDF.Dispose()
string caption = "Example: GetPageImageCoordinates";
GdPicturePDF gdpicturePDF = new GdPicturePDF();
if (gdpicturePDF.LoadFromFile("test.pdf", false) == GdPictureStatus.OK)
{
gdpicturePDF.SetOrigin(PdfOrigin.PdfOriginTopLeft);
string message = "";
int imageCount = 0;
float x0 = 0, y0 = 0, x1 = 0, y1 = 0, x2 = 0, y2 = 0;
int pageCount = gdpicturePDF.GetPageCount();
GdPictureStatus status = gdpicturePDF.GetStat();
if ((status == GdPictureStatus.OK) && (pageCount > 0))
{
for (int i = 1; i <= pageCount; i++)
{
if (gdpicturePDF.SelectPage(i) == GdPictureStatus.OK)
{
message = message + "Page nr." + i.ToString() + ":\n";
imageCount = gdpicturePDF.GetPageImageCount();
status = gdpicturePDF.GetStat();
if ((status == GdPictureStatus.OK) && (imageCount > 0))
{
for (int j = 0; j < imageCount; j++)
{
status = gdpicturePDF.GetPageImageCoordinates(j, ref x0, ref y0, ref x1, ref y1, ref x2, ref y2);
if (status == GdPictureStatus.OK)
message = message + "The image indexed as " + j.ToString() + " has the following coordinates:\nTL[" +
x0.ToString() + "," + y0.ToString() + "], TR[" + x1.ToString() + "," + y1.ToString() + "], BL[" +
x2.ToString() + "," + y2.ToString() + "]\n";
else
message = message + "The GetPageImageCoordinates() method has failed for the image nr. " + j.ToString() + " with the status: " + status.ToString() + "\n";
}
}
else
{
if (status == GdPictureStatus.OK)
message = message + "This page doesn't contain any image.\n";
else
message = message + "The GetPageImageCount() method has failed for the page nr. " + i.ToString() + " with the status: " + status.ToString() + "\n";
}
}
else
{
message = message + "The SelectPage() method has failed for the image nr. " + i.ToString() + " with the status: " + gdpicturePDF.GetStat().ToString() + "\n";
}
}
MessageBox.Show(message, caption);
}
else
{
if (status == GdPictureStatus.OK)
MessageBox.Show("This file doesn't contain any page.", caption);
else
MessageBox.Show("The GetPageCount() method has failed with the status: " + status.ToString(), caption);
}
}
else
MessageBox.Show("The file can't be loaded.", caption);
gdpicturePDF.Dispose();
See Also