The 0-based index of the image within the current page. It must be a value from 0 to GetPageImageCount-1.
Example





In This Topic
GdPicture14 Namespace / GdPicturePDF Class / GetPageImageMaskMode Method

GetPageImageMaskMode Method (GdPicturePDF)

In This Topic
Returns the type of the image masking of an image, specified by its index within the currently selected page of the loaded PDF document.
Syntax
'Declaration

 

Public Function GetPageImageMaskMode( _

   ByVal ImageIdx As Integer _

) As PdfImageMaskType
public PdfImageMaskType GetPageImageMaskMode( 

   int ImageIdx

)
public function GetPageImageMaskMode( 

    ImageIdx: Integer

): PdfImageMaskType; 
public function GetPageImageMaskMode( 

   ImageIdx : int

) : PdfImageMaskType;
public: PdfImageMaskType GetPageImageMaskMode( 

   int ImageIdx

) 
public:

PdfImageMaskType GetPageImageMaskMode( 

   int ImageIdx

) 

Parameters

ImageIdx
The 0-based index of the image within the current page. It must be a value from 0 to GetPageImageCount-1.

Return Value

A member of the PdfImageMaskType enumeration. A masking type of a specified image.

The GetStat method can be subsequently used to determine if this method has been successful.

Remarks
This method is only allowed for use with non-encrypted documents.

It is recommend to use the GetStat method to identify the specific reason for the method's failure, if any.

Example
How to properly use the mask mode when replacing images, which have been converted to black and white.
Dim caption As String = "Example: GetPageImageMaskMode"

Dim gdpicturePDF As GdPicturePDF = New GdPicturePDF()

If gdpicturePDF.LoadFromFile("test.pdf", False) = GdPictureStatus.OK Then

    Dim oGdPictureImaging As GdPictureImaging = New GdPictureImaging()

    Dim status As GdPictureStatus = gdpicturePDF.SelectPage(1)

    If status = GdPictureStatus.OK Then

        Dim imageCount As Integer = gdpicturePDF.GetPageImageCount()

        status = gdpicturePDF.GetStat()

        If status = GdPictureStatus.OK Then

            Dim imageID As Integer = 0, bitDepth As Integer = 0

            Dim maskMode As PdfImageMaskType = PdfImageMaskType.PdfMaskTypeUnknown

            Dim cs As PdfColorSpace = PdfColorSpace.PdfColorSpaceUnknown

            Dim mask As Boolean = False

            For i As Integer = 0 To imageCount - 1

                imageID = gdpicturePDF.ExtractPageImage(i+1)

                status = gdpicturePDF.GetStat()

                If status = GdPictureStatus.OK Then

                    mask = False

                    bitDepth = oGdPictureImaging.GetBitDepth(imageID)

                    status = oGdPictureImaging.GetStat()

                    If status = GdPictureStatus.OK Then

                        If bitDepth <> 1 Then

                            status = oGdPictureImaging.FxGrayscale(imageID)

                        Else

                            cs = gdpicturePDF.GetPageImageColorSpace(i)

                            status = gdpicturePDF.GetStat()

                            If status = GdPictureStatus.OK Then

                                If cs <> PdfColorSpace.PdfColorSpaceDeviceGray Then

                                    status = oGdPictureImaging.ConvertTo1Bpp(imageID)

                                End If

                            End If

                            If status = GdPictureStatus.OK Then

                                maskMode = gdpicturePDF.GetPageImageMaskMode(i)

                                status = gdpicturePDF.GetStat()

                                If status = GdPictureStatus.OK Then

                                    mask = ((maskMode <> PdfImageMaskType.PdfMaskTypeNone) AndAlso (maskMode <> PdfImageMaskType.PdfMaskTypeUnknown))

                                End If

                            End If

                        End If

                        If status = GdPictureStatus.OK Then

                            status = gdpicturePDF.ReplaceImage(gdpicturePDF.GetPageImageResName(i), imageID, mask)

                        End If

                    End If

                    oGdPictureImaging.ReleaseGdPictureImage(imageID)

                    If status <> GdPictureStatus.OK Then

                        MessageBox.Show("Finding image properties or replacing the image has failed with the status: " + status.ToString(), caption)

                        Exit For

                    End If

                Else

                    MessageBox.Show("The ExtractPageImage() method has failed with the status: " + status.ToString(), caption)

                    Exit For

                End If

            Next

            If imageCount > 0 Then

                If status = GdPictureStatus.OK Then

                    status = gdpicturePDF.SaveToFile("test_updated.pdf", True)

                    If status = GdPictureStatus.OK Then

                        MessageBox.Show("The example has been followed successfully and the file has been saved.", caption)

                    Else

                        MessageBox.Show("The example has been followed successfully, but the file can't be saved. Status: " + status.ToString(), caption)

                    End If

                End If

            Else

                MessageBox.Show("The first page does not contain any image. The document has not been saved.", caption)

            End If

        Else

            MessageBox.Show("The GetPageImageCount() method has failed with the status: " + status.ToString(), caption)

        End If

    Else

        MessageBox.Show("The SelectPage() method has failed with the status: " + status.ToString(), caption)

    End If

    oGdPictureImaging.Dispose()

Else

    MessageBox.Show("The file can't be loaded.", caption)

End If

gdpicturePDF.Dispose()
string caption = "Example: GetPageImageMaskMode";

GdPicturePDF gdpicturePDF = new GdPicturePDF();

if (gdpicturePDF.LoadFromFile("test.pdf", false) == GdPictureStatus.OK)

{

    GdPictureImaging oGdPictureImaging = new GdPictureImaging();

    GdPictureStatus status = gdpicturePDF.SelectPage(1);

    if (status == GdPictureStatus.OK)

    {

        int imageCount = gdpicturePDF.GetPageImageCount();

        status = gdpicturePDF.GetStat();

        if (status == GdPictureStatus.OK)

        {

            int imageID = 0, bitDepth = 0;

            PdfImageMaskType maskMode = PdfImageMaskType.PdfMaskTypeUnknown;

            PdfColorSpace cs = PdfColorSpace.PdfColorSpaceUnknown;

            bool mask = false;

            for (int i = 0; i < imageCount; i++)

            {

                imageID = gdpicturePDF.ExtractPageImage(i+1);

                status = gdpicturePDF.GetStat();

                if (status == GdPictureStatus.OK)

                {

                    mask = false;

                    bitDepth = oGdPictureImaging.GetBitDepth(imageID);

                    status = oGdPictureImaging.GetStat();

                    if (status == GdPictureStatus.OK)

                    {

                        if (bitDepth != 1)

                        {

                            status = oGdPictureImaging.FxGrayscale(imageID);

                        }

                        else

                        {

                            cs = gdpicturePDF.GetPageImageColorSpace(i);

                            status = gdpicturePDF.GetStat();

                            if (status == GdPictureStatus.OK)

                            {

                                if (cs != PdfColorSpace.PdfColorSpaceDeviceGray)

                                {

                                    status = oGdPictureImaging.ConvertTo1Bpp(imageID);

                                }

                            }

                            if (status == GdPictureStatus.OK)

                            {

                                maskMode = gdpicturePDF.GetPageImageMaskMode(i);

                                status = gdpicturePDF.GetStat();

                                if (status == GdPictureStatus.OK)

                                {

                                    mask = ((maskMode != PdfImageMaskType.PdfMaskTypeNone) && (maskMode != PdfImageMaskType.PdfMaskTypeUnknown));

                                }

                            }

                        }

                        if (status == GdPictureStatus.OK)

                        {

                            status = gdpicturePDF.ReplaceImage(gdpicturePDF.GetPageImageResName(i), imageID, mask);

                        }

                    }

                    oGdPictureImaging.ReleaseGdPictureImage(imageID);

                    if (status != GdPictureStatus.OK)

                    {

                        MessageBox.Show("Finding image properties or replacing the image has failed with the status: " + status.ToString(), caption);

                        break;

                    }

                }

                else

                {

                    MessageBox.Show("The ExtractPageImage() method has failed with the status: " + status.ToString(), caption);

                    break;

                }

            }

            if (imageCount > 0)

            {

                if (status == GdPictureStatus.OK)

                {

                    status = gdpicturePDF.SaveToFile("test_updated.pdf", true);

                    if (status == GdPictureStatus.OK)

                        MessageBox.Show("The example has been followed successfully and the file has been saved.", caption);

                    else

                        MessageBox.Show("The example has been followed successfully, but the file can't be saved. Status: " + status.ToString(), caption);

                }

            }

            else

                MessageBox.Show("The first page does not contain any image. The document has not been saved.", caption);

        }

        else

            MessageBox.Show("The GetPageImageCount() method has failed with the status: " + status.ToString(), caption);

    }

    else

        MessageBox.Show("The SelectPage() method has failed with the status: " + status.ToString(), caption);

    oGdPictureImaging.Dispose();

}

else

    MessageBox.Show("The file can't be loaded.", caption);

gdpicturePDF.Dispose();
See Also