在VC中用GDI 繪製角度可變的顏色漸變效果

2021-09-05 23:51:00 字數 955 閱讀 8835

gdi+ 是gdi(windows 早期版本提供的圖形裝置介面)的後續版本,是microsoft windows xp作系統即後續版本的圖形顯示技術。它已經整合到了.net開發環境中,所以不管你的os是什麼版本,只要安裝了.net框架,就有了gdi+(注意:是.net框架,而不是.net開發環境,所以win98中也可以使用gdi+)。

現在,言歸正傳。 

在標頭檔案中加入下面的**:

#include

using namespace gdiplus;

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

注意:在使用gdi+函式時必須進行gdi+的初始化,使用完畢要銷毀gdi+!

初始化:

gdiplusstartupinput gdiplusstartupinput; 

ulong_ptr gdiplustoken; 

gdiplusstartup(&gdiplustoken, &gdiplusstartupinput, null); 

銷毀:ulong_ptr gdiplustoken = null; 

gdiplusshutdown(gdiplustoken);

下面以給乙個ctestdlg的對話方塊繪製背景為例子,用gdi+實現角度可變的顏色漸變效果。用到的變數:

irotation:整型,漸變色的角度

color1、color2、color3:rgb顏色值 

兩種顏色的比較簡單,直接用gdi+提供的lineargradientbrush刷子就行了:

bool ctestdlg::onerasebkgnd(cdc* pdc)

三種顏色比較複雜,也是用gdi+提供的lineargradientbrush刷子,不過需要計算繪製區域的對角線長度,並按照對角線平分為三等分。

具體的看以下**:

bool ctestdlg::onerasebkgnd(cdc* pdc)

在VC中用GDI 繪製角度可變的顏色漸變效果

gdi 是gdi windows 早期版本提供的圖形裝置介面 的後續版本,是microsoft windows xp作系統即後續版本的圖形顯示技術。它已經整合到了.net開發環境中,所以不管你的os是什麼版本,只要安裝了.net框架,就有了gdi 注意 是.net框架,而不是.net開發環境,所以w...

在VC中用GDI 繪製角度可變的顏色漸變效果

gdi 是gdi windows 早期版本提供的圖形裝置介面 的後續版本,是microsoft windows xp作系統即後續版本的圖形顯示技術。它已經整合到了.net開發環境中,所以不管你的os是什麼版本,只要安裝了.net框架,就有了gdi 注意 是.net框架,而不是.net開發環境,所以w...

在VC使用GDI 的配置方法

vc6配置 1.執行gdi 需要gdiplus.dll gdiplus.lib和gdiplus h.這些檔案在 sdk中,vs2003 已經自帶了庫檔案。2.在stdafx.h中包含 include gdiplus.h 3.在 工程 選項 裡,新增乙個鏈結庫 gdiplus.lib 4.在 incl...