在
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...