Welcome Guest! You need to login or register to make posts.

Notification

Icon
Error

Options
Go to last post Go to first unread
ecomp2016  
#1 Posted : Wednesday, August 3, 2016 9:04:44 AM(UTC)
ecomp2016

Rank: Newbie

Groups: Member
Joined: 8/3/2016(UTC)
Posts: 1

What are the benefits to using Graphics Mill over GDI in an ASP.NET web application?

While playing with Graphics Mill, I noticed that System.Drawing is still in use for different point objects?

For example:

System.Drawing.PointF is used for the position of .DrawText()

Our application currently uses GDI, but we'd like to move away from it because Microsoft claims:

"Classes within the System.Drawing namespace are not supported for use within a Windows or ASP.NET service. Attempting to use these classes from within one of these application types may produce unexpected problems, such as diminished service performance and run-time exceptions. For a supported alternative, see Windows Imaging Components."

I know the System.Drawing namespace works fine on our web application, but we're hoping to find a more efficient package that doesn't rely on it. Does it matter that Graphics Mill still uses some System.Drawing namespace objects and calls? What is your stance on this, and how does performance compare to GDI? GDI does seem to be a lot faster than using ImageMagick for expensive text operations.
Fedor  
#2 Posted : Thursday, August 4, 2016 8:57:09 AM(UTC)
Fedor

Rank: Advanced Member

Groups: Member, Administration, Moderator
Joined: 7/28/2003(UTC)
Posts: 1,558

Thanks: 5 times
Was thanked: 62 time(s) in 61 post(s)
Hi,

The underlying C++ core of Graphics Mill doesn't depend on System.Drawing at all. Even though the high-level .NET API uses some simple structures (e.g. PointF and RectangleF) as well as allows using drawing functionality of System.Drawing (GDI+). If you need to use both System.Drawing and Graphics Mill, the SDK contains some helper methods for interoperability as well.

Historically, Graphics Mill lacked a high-quality drawing engine and we had to use the GDI+ one. Even though 2 years ago we introduced the AdvancedDrawing functionalty which is based on the Anti-Grain Geometry (AGG) library. Surely, the rest of our functionalities (bitmap, metadata, transforms, etc.) doesn't depend on GDI+ at all.

So, if you don't use GDI+ drawing and don't convert Graphics Mill types to System.Drawing one, then actually your code doesn't depend on System.Drawing.

By the way, we consider introducing the cross-platform version of Graphics Mill. It means that we will get rid of dependencies on System.Drawing.

The performance of Graphics Mill is one of our primary focuses. Our integration tests compare the performance of Graphics Mill with System.Drawing to make sure that we have high-speed image processing.

Edited by user Thursday, August 4, 2016 7:18:08 PM(UTC)  | Reason: Not specified

Best regards,
Fedor Skvortsov
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.