Welcome Guest! To enable all features please Login or Register.



Go to last post Go to first unread
#1 Posted : Thursday, July 15, 2021 5:25:46 PM(UTC)

Rank: Newbie

Groups: Registered
Joined: 1/27/2020(UTC)
Posts: 1
United States
Location: Oklahoma

I need to convert Ink strokes to a PdfInkAnnotation, I am able to add points to the annotation using this code:

For i = 0 To e.Stroke.BezierPoints.Length - 1
pPnt = New Drawing.Point((e.Stroke.BezierPoints(i).X * dpi_graph.DpiX) / 2540, (e.Stroke.BezierPoints(i).Y * dpi_graph.DpiY) / 2540)
Dim pagePnt As PointF = PdfViewer1.ClientToPage(iPage, New Drawing.Point(pPnt.X, pPnt.Y))
pdfInkPoints.Add(New Patagames.Pdf.FS_POINTF(pagePnt.X, pagePnt.Y))

This issue is the annotation is a series of lines instead of curves, is there a method to change these to Bezier curves? Maybe something similar to FS_PATHPOINTF.HasFlag(PathPointFlags.BezierTo).
Paul Rayman  
#2 Posted : Thursday, July 29, 2021 8:45:26 AM(UTC)
Paul Rayman

Rank: Administration

Groups: Administrators
Joined: 1/5/2016(UTC)
Posts: 1,035

Thanks: 5 times
Was thanked: 122 time(s) in 119 post(s)

PDF specification:
InkList - (Required) - An array of n arrays, each representing a stroked path. Each array is a series of alternating horizontal and vertical coordinates in default user space, specifying points along the path. When drawn, the points are connected by straight lines or curves in an implementation-dependent way. (See implementa- tion note 93 in Appendix H.)

and appendix H:
8.4.5, “Annotation Types” (Ink Annotations)
93. Acrobat viewers always use straight lines to connect the points along each path.

Users browsing this topic
Forum Jump  
You cannot post new topics in this forum.
You cannot reply to topics in this forum.
You cannot delete your posts in this forum.
You cannot edit your posts in this forum.
You cannot create polls in this forum.
You cannot vote in polls in this forum.