WIN32 GDI+ 学习笔记(一):配置GDI+

来源:互联网 发布:尤里盖勒 知乎 编辑:程序博客网 时间:2024/05/17 07:36

关于GDI+的介绍网上到处都有,在这里就不多介绍了。主要是记录下在GDI+学习中的体会与心得,以及一些技巧。

由于不打算用MFC而是用WIN32 API,故没有选择庞大的VS,而是挑了一个顺手一点的轻量级IDE:Dev-C++。

首先下载GDI+的文件包:www.codeguru.com/code/legacy/gdi/GDIPlus.zip,里面包含了所需的头文件以及静态库。解压后,将Include文件夹里的所有文件复制到Devc++安装目录\Include下,然后将Gdiplus.lib复制到Devc++安装目录\MinGW64\lib32下。之后进入Devc++。新建一个文件:

然后进入  工具->编译选项  如下图设置:


1、勾选“编译时加入以下命令”

2、在下面加入“-mwindows”,表示编译成win32窗口程序

3、在下面的文本框文字后加入“-l gdiplus”,表示连接gdi+库

然后就配置好了。我们用代码测试一下:

#include <windows.h>#include <gdiplus.h>using namespace Gdiplus;int main(){HWND hwnd;HDC hdc;RECT rc;int width,height;GdiplusStartupInput gdiplusStartupInput;    ULONG_PTR pGdiToken;        GdiplusStartup(&pGdiToken,&gdiplusStartupInput,NULL);//初始化GDI+        hwnd=GetDesktopWindow();    GetWindowRect(hwnd,&rc);    hdc=GetDC(NULL);    width=rc.right-rc.left;    height=rc.bottom-rc.top;        Graphics g(hdc);    SolidBrush b(Color(255,255,0,0));//ARGB    FontFamily fm(L"consolas");    Font f(&fm,30,0,UnitPoint);    StringFormat sf;    sf.SetAlignment(StringAlignmentCenter);    sf.SetLineAlignment(StringAlignmentCenter);        while(1)//死循环     g.DrawString(L"Hello World!",12,&f,RectF(0.0,0.0,width,height),&sf,&b);        ReleaseDC(hwnd,hdc);    GdiplusShutdown(pGdiToken);//关闭GDI+    return 0;}

程序运行界面:



0 0