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;

}