GDI+ 是GDI(Windows 早期版本提供的图形设备接口)的后续版本,是Microsoft Windows XP作系统即后续版本的图形显示技术。它已经集成到了.Net开发环境中,所以不管你的OS是什么版本,只要安装了.Net框架,就有了GDI+(注意:是.Net框架,而不是.Net开发环境,所以Win98中也可以使用GDI+)。
现在,言归正传。
在头文件中加入下面的代码:
using namespace Gdiplus;
#pragma comment(lib,"gdiplus.lib")
注意:在使用GDI+函数时必须进行GDI+的初始化,使用完毕要销毁GDI+!
初始化:
ULONG_PTR gdiplusToken;
GdiplusStartup( & gdiplusToken, & gdiplusStartupInput, NULL);
销毁:
GdiplusShutdown(gdiplusToken);
下面以给一个CTestDlg的对话框绘制背景为例子,用GDI+实现角度可变的颜色渐变效果。用到的变量:
iRotation:整型,渐变色的角度
Color1、Color2、Color3:RGB颜色值
两种颜色的比较简单,直接用GDI+提供的LinearGradientBrush刷子就行了:

{
CDialog::OnEraseBkgnd(pDC);
// 取得第一种颜色的R,G,B值
int r1 = GetRValue(Color1);
int g1 = GetGValue(Color1);
int b1 = GetBValue(Color1);
// 取得第二种颜色的R,G,B值
int r2 = GetRValue(Color2);
int g2 = GetGValue(Color2);
int b2 =

本文介绍了如何在VC中利用GDI+进行图形绘制,特别是创建角度可变的颜色渐变效果。通过初始化和销毁GDI+,结合LinearGradientBrush,实现了两种及三种颜色的渐变效果,适用于对话框背景等场景。
最低0.47元/天 解锁文章
1984





