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

Notification

Icon
Error

Options
View
Last Go to last post Unread Go to first unread post
#1 Posted : Sunday, February 10, 2019 11:27:16 PM(UTC)
Chris Lee

Groups: Registered
Posts: 3

Thanks: 1 times

Now, we are in the process of totally new project, which needs to display some tif files and manipulate some annotations on the image using LEADTOOLS.
The project will mainly be using c++ for UI and database connection. And there are 2 solutions of using the LEADTOOLS ahead.
We could use the c++ api or using the js version. Here're the pros and cons.

1.c++
document link: https://www.leadtools.co...leadtools/v20/main/api/#!
pros:
1. The c++ would usually be faster that js, and there is potential requirement of dealing with hundreds of annotations.
cons:
1. The c++ api is rather trivial. It's related to some low level windows painting apis and would potentially prolong the time cost of the project.

2. js version
document link: https://www.leadtools.co...html?platform=JavaScript
pros:
1. The js version of the viewer would be more high level and would be faster to develop.
2. The viewer control would be sealed by some CEF technology and would gain some GPU hardware acceleration, while the c++ version would only be drawn by CPU.
3. The JS document viewer is officially provided and could be considered of better understanding of the control and better code quality.
4. It would be cross platform. Which is not important now, as It's not a valid requirement of the project so far.
cons:
1. There might be performance issues when dealing with large amounts of annotations. But I'm unsure of this considering the GPU hardware acceleration.

So any suggestions?
 

Try the latest version of LEADTOOLS for free for 60 days by downloading the evaluation: https://www.leadtools.com/downloads

Wanna join the discussion? Login to your LEADTOOLS Support accountor Register a new forum account.

#2 Posted : Tuesday, February 12, 2019 3:11:35 PM(UTC)
Anthony Northrup

Groups: Registered, Tech Support, Administrators
Posts: 199

Was thanked: 27 time(s) in 27 post(s)

Hello Chris,

Apologies for the delay in getting back to you on this. From your statements/questions it's unclear if you intend on using our viewers, or building your own using our toolkit as the internal calls. Below is a brief summary for both our C++ and JavaScript toolkits with regards to annotations:

C++

We do have higher level controls for viewing/modifying annotations without requiring the low-level calls. As you can see from the following tutorial, the only interaction with the message loop itself is for handling our custom WM_LTANNEVENT message (seen in step 15):
https://www.leadtools.com/help/leadtools/v20/main/clib/implementing-an-automated-annotations-program-cpp-6-0-and-later3.html

Additional information regarding our C++ annotation functionality can be found here:
https://www.leadtools.com/help/leadtools/v20/main/clib/leadtoolsrasterimagingfeatures-annotations--rollup.html

JavaScript

Our JavaScript viewer is more similar to our .NET annotation functionality, both in class/namespace structure and internal logic. And you are correct, getting annotations working takes about 50 lines of code (including both HTML and JavaScript) for the minimal functionality. The following tutorial is a little more than minimal, but it's a good demonstration of how to use the annotation functionality:
https://www.leadtools.com/help/leadtools/v20/dh/javascript/to/working-with-automated-annotations.html

Regarding your statement about CEF technology, and GPU hardware acceleration: I believe our current control uses an HTML5 canvas for all of its drawing, because of this no GPU acceleration is used. You could of course use our SDK for the internal annotation object handling, and then use your own GPU accelerated drawing methods, however we do not currently ship an example of this functionality.

Regarding the JavaScript DocumentViewer: This uses a back-end service written using our document SDK. The source for these services are provided along with our SDK. Unfortunately our document SDK is currently only available for .NET and Java, so C/C++ would not be supported as a back-end. What you could do however, is use our ImageViewer directly (which the DocumentViewer uses internally) and perform all the loading/saving requests yourself. I haven't built a back-end using C++ myself, however all the image loading/conversion and annotation functionality are fully available, just in the more low-level form.

Summary

From my own experience, you'll probably find it easier to use our JavaScript as a front-end viewer, and use a back-end service to handle your database connections or other functionality not supported through our native JavaScript SDK; the most common of which is file conversion. Web browsers typically do not have support for viewing formats such as DOCX, or PDF, without external plugins. Our DocumentViewer will utilize a back-end service to convert these files into PNG or SVG (to preserve the vector quality) for viewing.

Thanks,
Anthony Northrup
Developer Support Engineer
LEAD Technologies, Inc.

LEAD Logo
thanks 1 user thanked Anthony Northrup for this useful post.
Chris Lee on 2/13/2019(UTC)
 
#3 Posted : Wednesday, February 13, 2019 5:09:48 AM(UTC)
Chris Lee

Groups: Registered
Posts: 3

Thanks: 1 times

Your help is greatly appreciated.
 
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.

Powered by YAF.NET | YAF.NET © 2003-2019, Yet Another Forum.NET
This page was generated in 0.191 seconds.