Components | All | New | MacOS | Windows | Linux | iOS | ||||
Examples | Mac & Win | Server | Client | Guides | Statistic | FMM | Blog | Deprecated | Old |
DynaPDF.RotateCoords
The function skews the coordinate system and sets the coordinate origin to the point OriginX, OriginY.
Component | Version | macOS | Windows | Linux | Server | iOS SDK |
DynaPDF | 3.2 | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
Parameters
Parameter | Description | Example | Flags |
---|---|---|---|
The PDF reference returned from DynaPDF.New. | |||
a | Angle alpha in degrees | 30 | |
x | Origin of the x-axis | $x | |
y | Origin of the y-axis | $y | |
RotateCoords | Whether to rotate coordinate system. This is now done by DynaPDF automatically, so for current version of the library, this must be zero. But older versions need the 1. |
0 | Optional |
Result
Returns OK on success and error on failure.
Description
The function skews the coordinate system and sets the coordinate origin to the point OriginX, OriginY.It is highly recommended to save the graphics state beforehand, otherwise it is very difficult or impossible to restore the coordinate system later.
After the coordinate system was changed by the function, bottom-up coordinates are active. It is not possible to use top-down coordinates with a skewed coordinate system.
To rotate a page you can use DynaPDF.SetOrientation or DynaPDF.SetOrientationEx.
See also RotateCoords function in DynaPDF manual.
Examples
Rotate and draw rectangle:
MBS( "DynaPDF.SaveGraphicState"; $PDF )
MBS( "DynaPDF.RotateCoords"; $PDF; 30; 150; 450)
MBS( "DynaPDF.Rectangle"; $PDF; 0; 0; 200; 100; "stroke" )
MBS( "DynaPDF.RestoreGraphicState"; $PDF )
Rotate graphics system 270° for whole page:
MBS("DynaPDF.TranslateCoords"; $pdf; MBS("DynaPDF.GetPageWidth";$pdf)/2; MBS( "DynaPDF.GetPageHeight";$pdf)/2)
MBS("DynaPDF.RotateCoords"; $pdf; 270; 0; 0)
MBS("DynaPDF.TranslateCoords"; $pdf; -MBS( "DynaPDF.GetPageHeight";$pdf)/2; -MBS("DynaPDF.GetPageWidth";$pdf)/2)
Draw text rotated:
# save
Set Variable [$r; Value: MBS("DynaPDF.SaveGraphicState"; $pdf)]
# get page size
Set Variable [$w; Value: MBS("DynaPDF.GetPageWidth"; $pdf)]
Set Variable [$h; Value: MBS("DynaPDF.GetPageHeight"; $pdf)]
# move center to middle of page
Set Variable [$r; Value: MBS("DynaPDF.TranslateCoords"; $PDF; $w/2; $h/2)]
# rotate here by 30 degree
Set Variable [$r; Value: MBS("DynaPDF.RotateCoords"; $PDF; 30; 0; 0)]
# move center back
Set Variable [$r; Value: MBS("DynaPDF.TranslateCoords"; $PDF; -$w/2; -$h/2)]
# now draw some text
Set Variable [$r; Value: MBS("DynaPDF.SetTextRect"; $pdf; 0; 500; MBS("DynaPDF.GetPageWidth"; $pdf); -1)]
Set Variable [$r; Value: MBS("DynaPDF.WriteFText"; $pdf; "center"; Watermark pages::WatermarkText )]
# restore
Set Variable [$r; Value: MBS("DynaPDF.RestoreGraphicState"; $pdf)]
See also
- DynaPDF.GetPageCoords
- DynaPDF.GetPageHeight
- DynaPDF.New
- DynaPDF.Rectangle
- DynaPDF.Save
- DynaPDF.SaveGraphicState
- DynaPDF.ScaleCoords
- DynaPDF.SetOrientation
- DynaPDF.SetOrientationEx
- DynaPDF.WriteFText
Example Databases
This function checks for a license.
Created 18th August 2014, last changed 4th December 2018
