GdPicture.NET.14 (COM - ActiveX)~GdPicture14_namespace / GdPicture.NET.14 (COM - ActiveX)~GdPicture14.GdPicturePDF / AddTransformationMatrix Method
The first element of the transformation matrix. For more details please see the summary above.
The second element of the transformation matrix. For more details please see the summary above.
The third element of the transformation matrix. For more details please see the summary above.
The fourth element of the transformation matrix. For more details please see the summary above.
The distance, in points, from the left, to translate the origin of the coordinate system in the horizontal dimension.
The distance, in points, from the bottom, to translate the origin of the coordinate system in the vertical dimension.
Example





In This Topic
    AddTransformationMatrix Method (GdPicturePDF)
    In This Topic
    Modifies the current transformation matrix (CTM) applying the concatenation with the transformation matrix you have specified. The resulting transformation affects all subsequent drawing operations on the currently selected page of the loaded PDF document.

    A transformation matrix is a part of the graphics state and it specifies the relationship between two coordinate spaces. By modifying a transformation matrix, objects can be scaled, rotated, translated, or transformed in other ways. Although the transformation parameters specify a matrix, they are written as six separate numbers. The matrix can represent any linear transformation from one coordinate system to another.

    - Translations are specified as [ 1, 0, 0, 1, tx, ty ], where tx and ty are the distances to translate the origin of the coordinate system in the horizontal and vertical dimensions, respectively.

    - Scaling is obtained by [ sx, 0, 0, sy, 0, 0 ]. This scales the coordinates so that 1 unit in the horizontal and vertical dimensions of the new coordinate system is the same size as sx and sy units, respectively, in the previous coordinate system.

    - Rotations are produced by [ cos a, sin a, -sin a, cos a, 0, 0 ], which has the effect of rotating the coordinate system axes by an angle a counterclockwise.

    - Skew is specified by [ 1, tan a, tan b, 1, 0, 0 ], which skews the x axis by an angle a and the y axis by an angle b.

    For more details, please refer to the PDF Reference, Section "Common Transformations".

    Syntax
    'Declaration
     
    
    Public Function AddTransformationMatrix( _
       ByVal a As Single, _
       ByVal b As Single, _
       ByVal c As Single, _
       ByVal d As Single, _
       ByVal e As Single, _
       ByVal f As Single _
    ) As GdPictureStatus
    public GdPictureStatus AddTransformationMatrix( 
       float a,
       float b,
       float c,
       float d,
       float e,
       float f
    )
    public function AddTransformationMatrix( 
        a: Single;
        b: Single;
        c: Single;
        d: Single;
        e: Single;
        f: Single
    ): GdPictureStatus; 
    public function AddTransformationMatrix( 
       a : float,
       b : float,
       c : float,
       d : float,
       e : float,
       f : float
    ) : GdPictureStatus;
    public: GdPictureStatus AddTransformationMatrix( 
       float a,
       float b,
       float c,
       float d,
       float e,
       float f
    ) 
    public:
    GdPictureStatus AddTransformationMatrix( 
       float a,
       float b,
       float c,
       float d,
       float e,
       float f
    ) 

    Parameters

    a
    The first element of the transformation matrix. For more details please see the summary above.
    b
    The second element of the transformation matrix. For more details please see the summary above.
    c
    The third element of the transformation matrix. For more details please see the summary above.
    d
    The fourth element of the transformation matrix. For more details please see the summary above.
    e
    The distance, in points, from the left, to translate the origin of the coordinate system in the horizontal dimension.
    f
    The distance, in points, from the bottom, to translate the origin of the coordinate system in the vertical dimension.

    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.

    Remarks
    Please note that this method is only allowed for use with non-encrypted documents.

    Be aware also that graphics state parameters are initialized to their default values at the beginning of each page.

    Just to remind you that 1 point is equivalent to 1/72 of an inch.

    Example
    How to draw various rectangles without changing their coordinates using the different transformation matrices.
    Dim caption As String = "Example: AddTransformationMatrix"
    Dim oGdPicturePDF As New GdPicturePDF()
    Dim status As GdPictureStatus = oGdPicturePDF.NewPDF()
    If status = GdPictureStatus.OK Then
        oGdPicturePDF.SetOrigin(PdfOrigin.PdfOriginTopLeft)
        oGdPicturePDF.SetMeasurementUnit(PdfMeasurementUnit.PdfMeasurementUnitMillimeter)
        If (oGdPicturePDF.NewPage(210, 297) = GdPictureStatus.OK) AndAlso
           (oGdPicturePDF.ResetGraphicsState() = GdPictureStatus.OK) AndAlso 'Setting the default graphics state.
           (oGdPicturePDF.DrawRectangle(0, 0, 40, 20, True, True) = GdPictureStatus.OK) AndAlso
           (oGdPicturePDF.SetLineWidth(2) = GdPictureStatus.OK) AndAlso
           (oGdPicturePDF.SetLineColor(0, 0, 255) = GdPictureStatus.OK) AndAlso
           (oGdPicturePDF.SetFillColor(0, 255, 255) = GdPictureStatus.OK) AndAlso
           (oGdPicturePDF.DrawRectangle(10, 40, 40, 20, True, True) = GdPictureStatus.OK) AndAlso
           (oGdPicturePDF.SaveGraphicsState() = GdPictureStatus.OK) AndAlso
           (oGdPicturePDF.AddTransformationMatrix(1, 0, 0, 1, 100, -100) = GdPictureStatus.OK) AndAlso 'translation
           (oGdPicturePDF.DrawRectangle(10, 40, 40, 20, True, True) = GdPictureStatus.OK) AndAlso
           (oGdPicturePDF.RestoreGraphicsState() = GdPictureStatus.OK) AndAlso
           (oGdPicturePDF.AddTransformationMatrix(1, 0.2F, 0, 1, 100, -200) = GdPictureStatus.OK) AndAlso 'vertical shear and translation
           (oGdPicturePDF.DrawRectangle(10, 40, 40, 20, True, True) = GdPictureStatus.OK) AndAlso
           (oGdPicturePDF.AddTransformationMatrix(1, 0.2F, 0.1F, 1, 100, -150) = GdPictureStatus.OK) AndAlso 'vertical and horizontal shear and translation
           (oGdPicturePDF.DrawRectangle(10, 40, 40, 20, True, True) = GdPictureStatus.OK) AndAlso
           (oGdPicturePDF.ResetGraphicsState() = GdPictureStatus.OK) AndAlso 'Resetting back to the default graphics state.
           (oGdPicturePDF.DrawRectangle(0, 180, 40, 20, True, True) = GdPictureStatus.OK) Then
            status = oGdPicturePDF.SaveToFile("test_TransformationMatrix.pdf")
            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
        Else
            MessageBox.Show("The example has not been followed successfully." + vbCrLf + "The last known status is " + oGdPicturePDF.GetStat().ToString(), caption)
        End If
    Else
        MessageBox.Show("The NewPDF() method has failed with the status: " + status.ToString(), caption)
    End If
    oGdPicturePDF.Dispose()
    string caption = "Example: AddTransformationMatrix";
    GdPicturePDF oGdPicturePDF = new GdPicturePDF();
    GdPictureStatus status = oGdPicturePDF.NewPDF();
    if (status == GdPictureStatus.OK)
    {
        oGdPicturePDF.SetOrigin(PdfOrigin.PdfOriginTopLeft);
        oGdPicturePDF.SetMeasurementUnit(PdfMeasurementUnit.PdfMeasurementUnitMillimeter);
        if ((oGdPicturePDF.NewPage(210, 297) == GdPictureStatus.OK) &&
            (oGdPicturePDF.ResetGraphicsState() == GdPictureStatus.OK) && //Setting the default graphics state.
            (oGdPicturePDF.DrawRectangle(0, 0, 40, 20, true, true) == GdPictureStatus.OK) &&
            (oGdPicturePDF.SetLineWidth(2) == GdPictureStatus.OK) &&
            (oGdPicturePDF.SetLineColor(0, 0, 255) == GdPictureStatus.OK) &&
            (oGdPicturePDF.SetFillColor(0, 255, 255) == GdPictureStatus.OK) &&
            (oGdPicturePDF.DrawRectangle(10, 40, 40, 20, true, true) == GdPictureStatus.OK) &&
            (oGdPicturePDF.SaveGraphicsState() == GdPictureStatus.OK) &&
            //translation
            (oGdPicturePDF.AddTransformationMatrix(1, 0, 0, 1, 100, -100) == GdPictureStatus.OK) &&
            (oGdPicturePDF.DrawRectangle(10, 40, 40, 20, true, true) == GdPictureStatus.OK) &&
            (oGdPicturePDF.RestoreGraphicsState() == GdPictureStatus.OK) &&
            //vertical shear and translation
            (oGdPicturePDF.AddTransformationMatrix(1, 0.2f, 0, 1, 100, -200) == GdPictureStatus.OK) &&
            (oGdPicturePDF.DrawRectangle(10, 40, 40, 20, true, true) == GdPictureStatus.OK) &&
            //vertical and horizontal shear and translation
            (oGdPicturePDF.AddTransformationMatrix(1, 0.2f, 0.1f, 1, 100, -150) == GdPictureStatus.OK) &&
            (oGdPicturePDF.DrawRectangle(10, 40, 40, 20, true, true) == GdPictureStatus.OK) &&
            (oGdPicturePDF.ResetGraphicsState() == GdPictureStatus.OK) && //Resetting back to the default graphics state.
            (oGdPicturePDF.DrawRectangle(0, 180, 40, 20, true, true) == GdPictureStatus.OK))
        {
            status = oGdPicturePDF.SaveToFile("test_TransformationMatrix.pdf");
            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 example has not been followed successfully.\nThe last known status is " + oGdPicturePDF.GetStat().ToString(), caption);
    }
    else
        MessageBox.Show("The NewPDF() method has failed with the status: " + status.ToString(), caption);
    oGdPicturePDF.Dispose();
    See Also

    Reference

    GdPicture.NET.14 (COM - ActiveX)~GdPicture14.GdPicturePDF
    GdPicturePDF Members
    ResetGraphicsState Method
    SaveGraphicsState Method
    RestoreGraphicsState Method
    SetPrependContentMode Method