本博文由CSDN博主zuishikonghuan所作,版权归zuishikonghuan所有,转载请注明出处:
http://blog.csdn.net/zuishikonghuan/article/details/47278905
在上两篇篇中,我们说到了通过GdipCreateFromHDC函数将HDC(设备上下文句柄)装换成GDI+的Graphics对象,并讲到了画笔和画刷的使用,这一篇就来讲讲如何利用GDI+Flat来画图片。
还是和以前一样,我们必须自己声明GDI+Flat函数,自己定义GDI+Flat的数据结构。自己动手,丰衣足食。~~
对于画图片,其实是GDI+调用的GDI+Flat的这几个函数:GdipLoadImageFromFile、GdipLoadImageFromStream、GdipGetImageDimension、GdipDrawImageRect和GdipDisposeImage
我们把这两个函数自己声明出来!不用那些GDI+类的东西!只用C和Win32的最基本的数据类型!
//画图片
extern "C" int WINAPI GdipLoadImageFromFile(WCHAR* filename, int** image);
extern "C" int WINAPI GdipLoadImageFromStream(LPSTREAM stream, int** image);
extern "C" int WINAPI GdipGetImageDimension(int* image, float* width, float* height);
extern "C" int WINAPI GdipDrawImageRect(int graphics, int* image, float x, float y, float width, float height);
extern "C" int WINAPI GdipDisposeImage(int* image);
先不解释这几个函数的具体使用方法,先来看看我们如何通过GDI+Flat画出一张图片。
流程如下:
原谅博主的绘图水平吧,,,
下面具体说说这几个函数的用法
GdipLoadImageFromFile:从文件加载图片对象
参数1:Unicode字符:文件名称
参数2:指向一个Image对象的指针,用于接收返回的Image对象,Image对象是int*