在WinCE下繪製半透的效果要注意的問題

2021-09-30 05:32:20 字數 1848 閱讀 6938

windows xp

中實現半透明效果並不是件難事,僅僅只需要調

setlayeredwindowattributes

函式即可。如果同樣的效果也想在

windows ce

中重現呢?因為

windows ce

沒有setlayeredwindowattributes

函式,不過在windows ce 5.0開始支援alphablend,該函式的作用是將兩個hdc根據一定的比例混合,即有了類似半透明的效果。

知道了有這個函式,我們現在就應該來看看這個函式怎麼用。查閱msdn,該函式定義為:

bool alphablend(

hdc

hdcdest

,//

指向目標裝置環境的控制代碼

int

nxorigindest

,//

指定目目標矩形區域左上角的

x軸座標

int

nyorigindest

,//

指定目標矩形區域左上角的

y軸座標

int

nwidthdest

,//

指定目標矩形區域的寬度

int

nheightdest

,//

指向目標矩形區域高度的控制代碼

hdc

hdcsrc

, //指向源裝置環境的控制代碼

int

nxoriginsrc

,//

指定源矩形區域左上角的

x軸座標

int

nyoriginsrc

,//

指定源矩形區域左上角的

y軸座標

int

nwidthsrc

,//

指定源矩形區域的寬度

int

nheightsrc

,//

指定源矩形區域的高度

blendfunctionblendfunction

//指定用於源位圖和目標位圖使用的

alpha

混合功能

);

要能想正常的使用這個函式還必須做一件事件將windows.h和coredll.lib載入到你的工程裡去。

做好了這些事情錢準備了,可以編譯你工程的了。幸運的話能夠順利通過編寫,不幸的話將出現下列提示錯誤:

「error c3861: 'alphablend': identifier not found

」函式沒有定義,是不是很奇怪我們明明把頭檔案和library都包含到我們的工程裡怎麼會沒有定義呢?是不是很納悶?

不要鬱悶,那不是你的工程的問題而是系統的問題!在定製wince系統de 時候有乙個選項需要注意:如下圖:

如果你想用

alphablend

來繪製透明效果就必須將這一項選上。

unity 支援半透物體的流光效果(vf版本)

最近特效製作說要加個特效流光,就寫了一下 使用方法和之前部分模型流光效果一直 這個是手動流光,方便特效k動畫 如果要自動流光則改改uv賦值 流光圖y軸偏移 uv.y time.y speedy 流光圖x軸偏移 uv.x time.y speedx 下面是shader shader effect ex...

tinyxml在wince下的用法

1.包含xml解析類檔案頭 include tinyxml.h 2.定義變數 tixmldocument m pxml bool m bloadxml 3.讀函式 bool calarmdlg readcfgfile flag true 記憶體 if m pxml null return flag ...

Openssl在wince下的編譯

1.在wince下編譯openssl需要以下幾種外界工具 microsoft embedded visual c 3.0 wcecompat compatibility library www.essemer.com.au optionally ceutils for running automat...