Microsoft Windows Phone 8.1 support ends (13 Jul 2017)

Microsoft has ended support for Windows Phone 8.1

Questions about Android development and PDF

Error on restore Ink annotation

More
IP: 192.168.0.71 8 years 6 months ago - 8 years 6 months ago #12890 by rpc_1910
I'm having a problem adding annotations like Ink. When I create the annotation I am storing in an external file the coordinates so that I can re-create the annotation.

When you insert the annotation and update your RECT, the annotation becomes transparent, as shown in the image. When I do not update the RECT of the annotation it is displayed in the wrong place.

Correct annotation - imgur.com/a/UzKnV

Annotation inserted without updating RECT - imgur.com/a/0t1wi

Annotation inserted updating the RECT - imgur.com/a/J3KlI

Here is the snippet of code used to re-create the annotation:

--
Code:
m_ink = new Ink(8); m_ink.OnDown(75f, 747f); m_ink.OnMove(78f, 736f); m_ink.OnMove(79f, 722f); m_ink.OnMove(85f, 701f); m_ink.OnMove(92f, 670f); m_ink.OnMove(103f, 639f); m_ink.OnMove(117f, 614f); m_ink.OnMove(125f, 600f); m_ink.OnMove(133f, 591f); m_ink.OnMove(139f, 585f); m_ink.OnMove(145f, 582f); m_ink.OnMove(147f, 583f); m_ink.OnMove(147f, 593f); m_ink.OnMove(143f, 610f); m_ink.OnMove(137f, 632f); m_ink.OnMove(133f, 656f); m_ink.OnMove(129f, 677f); m_ink.OnMove(127f, 699f); m_ink.OnMove(125f, 722f); m_ink.OnMove(123f, 745f); m_ink.OnMove(122f, 761f); m_ink.OnMove(122f, 775f); m_ink.OnMove(122f, 788f); m_ink.OnMove(122f, 800f); m_ink.OnMove(125f, 820f); m_ink.OnMove(128f, 827f); m_ink.OnMove(133f, 833f); m_ink.OnMove(137f, 838f); m_ink.OnMove(149f, 839f); m_ink.OnMove(155f, 836f); m_ink.OnMove(162f, 825f); m_ink.OnMove(172f, 809f); m_ink.OnMove(182f, 793f); m_ink.OnMove(192f, 772f); m_ink.OnMove(214f, 740f); m_ink.OnMove(222f, 730f); m_ink.OnMove(232f, 722f); m_ink.OnMove(239f, 717f); m_ink.OnMove(243f, 714f); m_ink.OnMove(246f, 713f); m_ink.OnMove(248f, 713f); m_ink.OnMove(249f, 722f); m_ink.OnMove(246f, 733f); m_ink.OnMove(239f, 749f); m_ink.OnMove(233f, 767f); m_ink.OnMove(226f, 786f); m_ink.OnMove(221f, 802f); m_ink.OnMove(214f, 831f); m_ink.OnMove(212f, 847f); m_ink.OnMove(211f, 860f); m_ink.OnMove(211f, 872f); m_ink.OnMove(211f, 885f); m_ink.OnMove(212f, 889f); m_ink.OnMove(216f, 891f); m_ink.OnMove(227f, 892f); m_ink.OnMove(237f, 891f); m_ink.OnMove(248f, 885f); m_ink.OnMove(260f, 873f); m_ink.OnMove(290f, 847f); m_ink.OnMove(310f, 828f); m_ink.OnMove(345f, 799f); m_ink.OnMove(365f, 786f); m_ink.OnMove(394f, 771f); m_ink.OnMove(407f, 765f); m_ink.OnMove(416f, 761f); m_ink.OnMove(423f, 759f); m_ink.OnMove(428f, 759f); m_ink.OnMove(431f, 759f); m_ink.OnMove(432f, 771f); m_ink.OnMove(419f, 800f); m_ink.OnMove(412f, 817f); m_ink.OnMove(396f, 846f); m_ink.OnMove(391f, 859f); m_ink.OnMove(384f, 886f); m_ink.OnMove(381f, 897f); m_ink.OnMove(379f, 910f); m_ink.OnMove(379f, 915f); m_ink.OnMove(381f, 916f); m_ink.OnMove(388f, 914f); m_ink.OnMove(416f, 895f); m_ink.OnMove(433f, 883f); m_ink.OnMove(449f, 866f); m_ink.OnMove(469f, 847f); m_ink.OnMove(503f, 809f); m_ink.OnMove(519f, 791f); m_ink.OnMove(550f, 753f); m_ink.OnMove(577f, 723f); m_ink.OnMove(585f, 715f); m_ink.OnMove(600f, 704f); m_ink.OnMove(610f, 696f); m_ink.OnMove(615f, 692f); m_ink.OnMove(617f, 690f); m_ink.OnUp(619f, 688f); Page page = m_doc.GetPage(0); VPage vpage = m_layout.vGetPage(0); page.ObjsStart(); Matrix mat = vpage.CreateInvertMatrix(m_layout.vGetX(), m_layout.vGetY()); mat.TransformInk(m_ink); page.AddAnnotInk(m_ink); mat.Destroy(); Annotation mAnnot = page.GetAnnot(page.GetAnnotCount()-1); if(mAnnot != null) { mAnnot.SetRect(33.80487f, 79.15289f, 371.0294f, 498.8284f); } m_layout.vRenderSync(vpage); invalidate();
--

Any idea why this is happening?

Thanks
Last edit: 8 years 6 months ago by rpc_1910.
More
IP: 192.168.0.71 8 years 6 months ago #12892 by nermeen
Did you try using the example illustrated in Export an Ink annotation and recreate it from path ?

Note; If you have a premium license, you can use the new methods introduced since version 3.14.1, but these methods uses unreadable binary stream
Annotation.Export
Page.ImportAnnot
Time to create page: 0.406 seconds
Powered by Kunena Forum