GDI+是Windows XP中的一个子系统,它主要负责在显示屏幕和打印设备输出有关信息,它是一组通过C++类实现的应用程序编程接口。顾名思义,GDI+是以前版本GDI的继承者,出于兼容性考虑,Windows XP仍然支持以前版本的GDI,但是在开发新应用程序的时候,开发人员为了满足图形输出需要应该使用GDI+,因为GDI+对以前的Windows版本中GDI进行了优化,并添加了许多新的功能。
#include "stdafx.h"
#include <windows.h>
#include<gdiplus.h>//gdi+头文件
using namespace Gdiplus;
#define ULONG_PTR ULONG
#pragma comment(lib,"gdiplus.lib")
int _tmain(int argc, _TCHAR* argv[])
{
GdiplusStartupInput gdiplusStartupInput;
ULONG_PTR pGdiToken;
GdiplusStartup(&pGdiToken,&gdiplusStartupInput,NULL);//初始化GDI+
HDC hDC=::GetDC(NULL);
Graphics graphics(hDC);
SolidBrush newBrush(Color(0,0,255));
Pen newPen(Color(1000,0,0),3);//画笔,最后一个参数,画笔大小
Image *pImg=Image::FromFile(L"WizardImage.bmp");
while(true)
{
graphics.DrawRectangle(&newPen,500,500,100,100);//画一个矩形
graphics.FillRectangle(&newBrush,0,0,120,120);//重复画
if (pImg!=NULL)
{
graphics.DrawImage(pImg,1200,500);
}
Sleep(50);
}
//死循环,下面这句不会调用,只是想把那个意思表明
GdiplusShutdown(pGdiToken);//关闭GDI+
return 0;
}