Are there any differences 开发者_运维知识库between those two libraries?
According to the wikipedia article on GDI:
With the introduction of Windows XP, GDI was deprecated in favor of its successor, the C++ based GDI+ subsystem. GDI+ adds anti-aliased 2D graphics, floating point coordinates, gradient shading, more complex path management, intrinsic support for modern graphics-file formats like JPEG and PNG, and support for composition of affine transformations in the 2D view pipeline.
GDI is not object oriented and provide hardware abstraction for win32 plateform. It's written in C
GDI+ is object oriented, and it's main purpose is to provide C++ classes to simplify and extend in some ways GDI usage.
GDI+ also target .NET , as System.Drawing is integrating it
GDI+ is an improvement on GDI. It contains features not readily available in GDI such as gradient brushes, alpha blending, and more image format support.
You can see what other differences are here: http://msdn.microsoft.com/en-us/library/ms536338%28v=vs.85%29.aspx
From Wikipedia:
GDI+ adds anti-aliased 2D graphics, floating point coordinates, gradient shading, more complex path management, intrinsic support for modern graphics-file formats like JPEG and PNG, and support for composition of affine transformations in the 2D view pipeline. GDI+ uses ARGB values to represent color.
精彩评论