您的位置:首页 > 编程语言 > C语言/C++

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

2015-01-05 20:01 281 查看
关于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;
}

程序运行界面:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  gdi+ win32 c++