vc 繪製半透明矩形

2021-06-13 08:54:26 字數 750 閱讀 1651

要繪製透明矩形,要用到 blendfunction 這個結構體 和alphablend這個函式 ,方法如下:

cbitmap tempbitmap;//用於繪製矩形的臨時位圖

cdc tempdc;

crect rect(0,0,100,100); // 矩形大小

blendfunction blend;

memset( &blend, 0, sizeof( blend) );

blend.blendop= ac_src_over;

blend.sourceconstantalpha=alpha; // 設定透明度 最大255

tempdc.createcompatibledc(pdc);

tempbitmap.createcompatiblebitmap(pdc,rect.width(),rect.height());

tempdc.selectobject(tempbitmap);

tempdc.fillrect(rect,&cbrush(colorref(fillcolor))); // 將矩形繪製到臨時點陣圖上

pdc->alphablend(0,0,rect.width(),rect.height(),&tempdc,0,0,rect.width(),rect.height(),blend);//將臨時位圖繪製到目標cdc上

tempdc.deletedc();

tempbitmap.deleteobject();

OpenGL繪製半透明物體

一 使用混合來實現半透明效果 混合是什麼呢?混合就是把兩種顏色混在一起。具體一點,就是把某一畫素位置原來的顏色和將要畫上去的顏色,通過某種方式混在一起,從而實現特殊的效果。假設我們需要繪製這樣乙個場景 透過紅色的玻璃去看綠色的物體,那麼可以先繪製綠色的物體,再繪製紅色玻璃。在繪製紅色玻璃的時候,利用...

OpenGL繪製半透明物體技巧

一 使用混合來實現半透明效果 混合是什麼呢?混合就是把兩種顏色混在一起。具體一點,就是把某一畫素位置原來的顏色和將要畫上去的顏色,通過某種方式混在一起,從而實現特殊的效果。假設我們需要繪製這樣乙個場景 透過紅色的玻璃去看綠色的物體,那麼可以先繪製綠色的物體,再繪製紅色玻璃。在繪製紅色玻璃的時候,利用...

WebGL半透明物體的繪製

webgl 中當透明和半透明物體共存時,相關設定不正確的話,物體表面會出現破碎雜亂的斷面,非常影響效果,我們接著就來解決這個問題。完成的展示demo請看 半透明物體和透明物體共存 讓物體實現半透明效果需要用到顏色的 分量。該功能被稱為a混合 alpha blending 或 混合 blending,...