更新时间:2015-10-07 19:38:23浏览次数:1+次
很多的技术文章,作者对于很多的细节都是一笔带过,断章取义,最起码笔者我很多时候就学的特别迷糊。因此,我从学习者的角度出发,浅析透彻脉络,尽量让你了解清楚你想了解的
一个简单的GDI+程序分四个步骤来进行:
1,在项目中引入GDI+头文件,使用GDI+的命名空间
2,初始化GDI+系统资源
3,使用完毕后,释放GDI+所使用的资源
4,在编译时假如GDIplus.Lib库文件
#include"gdiplus.h"
using namespace Gdiplus;
#pragma comment(lib, "gdiplus.lib")
在使用GDI+的资源之前,应该通过GdilpusStartup(启用GDI+资源)函数进行GDI+系统资源的初始化操作,而在程序结束前,应该通过GdiplusShutdown(关闭GDI+资源)函数进行GDI+资源的销毁操作。这两项工作,可以InitInstance()函数和析构函数中进行。
我们新建一个单文档的工程,接着我们在OnView函数中写入代码实现GDI+输出文本。
Graphics graphics(this->m_hWnd);
Pen pen(Color(10, 0, 255, 255));
SolidBrush brush(Color(255, 0, 0, 255));
FontFamily fontfamily(L"Arial");
Gdiplus::Font font(&fontfamily,30, FontStyleBold, UnitPixel);
CRect rect;
this->GetClientRect(&rect);
PointF pointF(rect.right/2,rect.bottom);
graphics.DrawString(L"C++技术网", 24, &font, pointF, &brush);
我们看看第一句代码,创建一个graphics对象,Graphics类有下雷击中构造函数:
static Graphics* FromHDC(HDC hdc);
static Graphics* FromHDC(HDC hdc,HANDLE hDevice);
static Graphics* FromHWND(HWND hwnd,BOOL icm);
static Graphics* FromImage(Image* image);
上述构造函数中的各参数意义如下:
相关资讯