WM 實現透明效果

2021-04-26 21:16:03 字數 1109 閱讀 5323

一、使用alphablend api 。這個可以看黎老師的文章。 見原文

.net framework的winform程式支援支援調節控制項的透明度和gdi+,用它可以實現例如淡入淡出這種很酷的介面效果。而.net compact framework的窗體和控制項不支援透明和gdi+,因此常常利用來完成一些美觀的程式介面效果,這樣會使得程式包附帶了很多用於交替的而體積變大。

今天看到了windows mobile 5.0/6上也有alpha blend api,可以用於實現一些透明的控制項,如下圖所示:

這裡不再多介紹,可以看原文:http://www.codeproject.com/kb/mobile/transparent_controls.aspx

二、setcolorkey實現透明效果

原文見msdn how to: draw images with transparency

實現方式:當渲染時將指定的顏色從位圖中抽去,以達到透明效果:

第一步是建立在渲染時要被掩蓋的color key(色度鍵)。我們需要指定乙個精確的色度鍵值,而不是指定乙個範圍。    

1imageattributes imgattr 

=new

imageattributes();

2imgattr.setcolorkey(color.red, color.red); 

3//imgattr.setcolorkey(color.fromargb(255, 0, 0),color.fromargb(255, 0, 0));

//若不想用color類中提供的標準顏色,可用rgb方式設定顏色值

4//imgattr.setcolorkey(bmp.getpixel(0,0), bmp.getpixel(0,0));

//或者直接用畫素值56

//準備就緒,下面開始畫圖

7rectangle dstrect 

=new

rectangle(0, 

0, bmp.width, bmp.height);

8e.graphics.drawimage(bmp, dstrect, 0, 

0, bmp.width, bmp.height,

9graphicsunit.pixel, attr);

css 實現透明效果

filter alpha opacity 50 moz opacity 0.5 khtml opacity 0.5 opacity 0.5 說明 opacity 0.5 這是最重要的,因為它是css標準.該屬性支援firefox,safari和 opera.filter alpha opacity ...

osg實現透明效果 正解

最近某個專案中要用osg畫部分半透明效果的形狀,繪製可參考osg自帶例子 examples osggeometry 但是半透明效果一直出不來,google一番之後 有位熱心提供的方案是 osg stateset stateset geometryfeild getorcreatestateset a...

Unity Shader 實現半透明效果

想要實現如下效果 主角可以遮擋背景,背景遮擋主角時候半透明混合 研究了一周,shader知識了解從無到稍稍入門,終於解決了,記錄一下實現方案。使用blend one oneminussrcalpha指令,也就是srccolor dstcolor 1 srcalpha 假設a和b重疊,先渲染a,然後渲...