by Michael S. Kaplan, published on 2010/11/06 07:01 -04:00, original URI: http://blogs.msdn.com/b/michkap/archive/2010/11/06/10085213.aspx
Don't use GDI+.
Please.
I'll repeat.
Don't use GDI+.
Truly.
It is a terrible thing to use.
Well, strictly speaking, it may be perfect if you like to have hanging bugs in your code that may never be fixed.
And if you are looking for mirroring support that is totally inadequate, GDI+ can deliver.
I could go on.
I could point out the latest problem someone pointed out -- that all that has been found out in supporting many of the African languages like Yoruba, Igbo, and Hausa that the simple fact that the Latin script can at times be a complex script is a fact that GDI+ is blissfully unaware of.
So was NT 4.0, so I suppose I shouldn't worry about it too much.
And if you don't do Bidi or anything complex even, then maybe you can go on using this technology for your text rendering.
But if you are interanl to the company, then since Microsoft now supports languages like Yoruba, Igbo, and Hausa, the rules are different. And it is quite embarrassing to say you support a language but find out that some of your components don't support it. All because those few errant components were written with GDI+.
If you work for Microsoft, I can be even more colorful about this topic. Let me know where and when and I will present for your group's leadership that use of GDI+ is akin to assault with intent to maim [text].
People really ought to stop using this turd. Truly....
Lionel on 6 Nov 2010 8:24 AM:
Isn't System.Drawing a managed wrapper around GDI+? I don't see WinForms+System.Drawing being dropped soon, so maybe there would be a case for reimplementing System.Drawing above Direct2D.
CImageFun on 6 Nov 2010 9:10 AM:
ATL::CImage is a convenient class, which (I think...) is based on GDI+. Should we stop using CImage??
What would you suggest instead?
Thanks.
Michael S. Kaplan on 6 Nov 2010 9:16 AM:
I'm focusing on the text piece here, not the image piece....
Mike on 7 Nov 2010 9:18 AM:
@Lionel:
Yes, System.Drawing is a wrapper around GDI+ but at least in Windows Forms you have the TextRenderer alternative which uses GDI.
Farproc on 9 Nov 2010 12:00 AM:
And the not managed alpha aware replacement for GDI+ would be? Direct2D is not universally deployed yet.