如何在VC6及其以上版本中使用GDI+

今天兴致比较高昂,虽然已经是23点了,所以还是决定再写一篇,供各位技术同仁参考。

最近由于学习C#,对于里面的GDI+绘图的强大功能不得不刮目相看,当然就想将其用在我最熟悉的VC++语言中来。但是VC6却并不包含GDI+包,所以还得必须自己去微软网站上下载开发包。对于VC2005来说,就不必了,因为已经包含。

下面首先谈谈如何在VC6中使用GDI+,步骤总结如下:

 

1、将开发包中的include里面的头文件copy到vc安装目录下的文件夹下:C:/Program Files/Microsoft Visual Studio/VC98/Include

2、如果没有安装vc7或以上平台的win9x或win2k平台(winxp已包含),还需将开发包中的文件gdiplus.dll copy到windows system32文件夹下。

3、将lib文件夹下的lib文件copy到开发项目的目录下(或者是copy到C:/Program Files/Microsoft Visual Studio/VC98/Lib中,如此无需每个项目都这样COPY此文件,推荐使用),在stdafx.h中加入以下代码:

#pragma comment(lib, "gdiplus.lib")

#define ULONG_PTR ULONG
#include <gdiplus.h>
using namespace Gdiplus;

4、在app类中增加变量:  
    ULONG_PTR m_pGdiToken;

5、在InitInstance函数中,增加代码:
GdiplusStartupInput gdiplusStartupInput;
GdiplusStartup(&m_pGdiToken,&gdiplusStartupInput,NULL);

6、在ExitInstance函数中,增加以下代码
GdiplusShutdown(m_pGdiToken);

7、此时编译应该能够通过,执行前,检查一下GDIPLUS.DLL是否在系统目录或当前目录下。   
8、如果第7步编译运行正常,OK,恭贺你,至此你可以使用GDI+了。

 

在VC8中可以免去1-2两个步骤,其它同样照做即可。

 

下面给出一个示例代码段:

  1. void CTestView::DrawWithGDIPlus(CDC *pDC)
  2. {
  3.     Graphics graphics(pDC->m_hDC);
  4.     graphics.TranslateTransform(10,10);
  5.     // Pen can also be constructed using a brush or another pen.  There is a second parameter - a width which defaults to 1.0f
  6.     Pen blue (Color(255, 0, 0, 255));
  7.     Pen red  (Color(255, 255, 0, 0));
  8.     int y = 256;
  9.     int x = 0;
  10.     for (x = 0; x < 256; x += 5)
  11.     {
  12.         graphics.DrawLine(&blue, 0, y, x, 0);
  13.         graphics.DrawLine(&red, 256, x, y, 256);  
  14.         y -= 5;
  15.     }       
  16.     for (y = 0; y < 256; y++)
  17.     {
  18.         Pen pen(Color(y, 0, 255,0));  // A green pen with shifting alpha
  19.         graphics.DrawLine(&pen, 0, y, 256, y);
  20.         // The sleep is to slow it down so you can watch the effect
  21.         Sleep(5);
  22.     }
  23.     for (x = 0; x < 256; x++)
  24.     {
  25.         Pen pen(Color(x, 255, 0, 255));  // A green pen with shifting alpha
  26.         graphics.DrawLine(&pen, x, 100, x, 200);
  27.         // The sleep is to slow it down so you can watch the effect
  28.         Sleep(5);
  29.     }
  30. }

你可以在CView的OnDraw函数中调用如下语句即可:

DrawWithGDIPlus(pDC);

编译运行即可看到美丽的GDI+绘出来的漂亮图案。

 

申明:未经许可,也可转载。如果转载,请注明出处!!!

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值