tags:

views:

502

answers:

5

I just wonder a bit whether or not GDI+ is still a technology worth using, especially in a .net sense.

Granted, GDI+ is still THE technology to handle Images in Windows, but it is also unmanaged code (obviously). Now, after discovering that GDI+ is actually not supported on ASP.net¹, I just wonder: Is it actually feasible to have Image Manipulation Libraries that run completely in Managed Code? XNA does it if i remember correctly, albeit it uses the graphics card for it.

Is there maybe even any .net Image Library that implements a sort of managed GDI+?

¹ Source, also Microsoft just offered something for ASP.net that uses GDI+.

+5  A: 

System.Drawing is built on top of GDI+. It's just a wrapper.

http://msdn.microsoft.com/en-us/library/system.drawing.aspx

Eric Z Beard
+3  A: 

It's still a technology worth using. There are lots of Windows Forms and unmanaged apps around that use GDI+ that either won't be upgraded, or that will be upgraded, but that don't need more advanced rendering capabilities. GDI+ is a good bolt-on solution for older applications, and for new applications written in Windows Forsm. That's the primary reason GDI+ wasn't axed in Vista in favour of a totally DirectX solution.

There's not specifically anything wrong with GDI/GDI+. True, it's not as advanced as Aero et al, but that doesn't always matter. Particularly in LOB applications (in companies that probably don't even have machines capable of running Vista - mine certainly doesn't), GDI+ is an extremely important technology.

The fact that it's not supported (for drawing, at least... you CAN still use it for image manipulation) in ASP.NET is a red herring, since other drawing technologies are not supported for web applications either (plugin-based "applications" notwithstanding).

DannySmurf
+1  A: 

Usable? Well, yes. To the extent that it ever was. It's always been horribly slow, text rendering has always been broken, and it's been apparent for some time now that it won't be The Next Official Graphics Layer for Windows.

If you can't live with that, then there are plenty of other graphics libraries out there, faster and/or higher quality / fewer system dependencies... although i'm not aware of any implemented in managed code.

Shog9
A: 

Blockquote there are plenty of other graphics libraries out there, faster and/or higher quality / fewer system dependencies...

Could u list some of them libraries that could be used instead of GDI+ with C++ ?

Direct2d?http://blogs.technet.com/thomasolsen/archive/2008/10/29/introducing-the-microsoft-direct2d-api.aspx
Esteban Brenes
+2  A: 

You can use AntiGrain instead of GDI+. As example of an application that use this library see Creative Docs .NET.

SDL can be also pretty suitable for some type of applications.

mem64k