You can manipulate primitives to clip pictures:
1. Create a path that will clip a future picture. Be sure that the path is closed.
Delphi :
PDF.PDFPAGE_NewPath; PDF.PDFPAGE_Ellipse(50, 100, PDF.PDFPAGE_Width - 50, PDF.PDFPAGE_Height - 50); PDF.PDFPAGE_ClosePath;
Visual Basic or Visual Basic Script :
PDF.PDFPAGE_NewPath PDF.PDFPAGE_Ellipse 50, 100, PDF.PDFPAGE_Width - 50, PDF.PDFPAGE_Height - 50 PDF.PDFPAGE_ClosePath
C/C++ :
PDF->PDFPAGE_NewPath(); PDF->PDFPAGE_Ellipse(50, 100, PDF->PDFPAGE_Width - 50, PDF->PDFPAGE_Height - 50); PDF->PDFPAGE_ClosePath();
C# :
PDF.PDFPAGE_NewPath(); PDF.PDFPAGE_Ellipse(50, 100, PDF.PDFPAGE_Width - 50, PDF.PDFPAGE_Height - 50); PDF.PDFPAGE_ClosePath();
2. Set the current path as the clipping path.
Delphi :
PDF.PDFPAGE_Clip;
Visual Basic or Visual Basic Script :
PDF.PDFPAGE_Clip
C/C++ :
PDF->PDFPAGE_Clip();
C# :
PDF.PDFPAGE_Clip();
3. Draw other objects or pictures using a new path.
Delphi :
PDF.PDFPAGE_NewPath; PDF.PDFPAGE_SetRGBColor(0, 0, 0.5); PDF.PDFPAGE_Ellipse(0, 0, PDF.PDFPAGE_Width, PDF.PDFPAGE_Height); { Ellipse filled in page }
Visual Basic or Visual Basic Script :
PDF.PDFPAGE_NewPath PDF.PDFPAGE_SetRGBColor 0, 0, 0.5 PDF.PDFPAGE_Ellipse 0, 0, PDF.PDFPAGE_Width, PDF.PDFPAGE_Height 'Ellipse filled in page
C/C++ :
PDF.PDFPAGE_NewPath(); PDF.PDFPAGE_SetRGBColor(0, 0, 0.5f); PDF.PDFPAGE_Ellipse(0, 0, PDF->PDFPAGE_Width, PDF.->DFPAGE_Height); // Ellipse filled in page
C# :
PDF.PDFPAGE_NewPath(); PDF.PDFPAGE_SetRGBColor(0, 0, 0.5f); PDF.PDFPAGE_Ellipse(0, 0, PDF.PDFPAGE_Width, PDF.PDFPAGE_Height); // Ellipse filled in page
4. Stroke your picture and it will be clipped by the clipping path.
Delphi :
PDF.PDFPAGE_FillAndStroke;
Visual Basic or Visual Basic Script :
PDF.PDFPAGE_FillAndStroke
C/C++ :
PDF->PDFPAGE_FillAndStroke();
C# :
PDF.PDFPAGE_FillAndStroke();
For more details see PDFPAGE_Clip, PDFPAGE_EoClip, PDFPAGE_ClosePath, PDFPAGE_NewPath.
Note: You cannot reset the clipping path. Use PDFPAGE_GStateSave and PDFPAGE_GStateRestore to save and restore the graphical state and clipping region.