線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:4127
推到 Plurk!
推到 Facebook!

半透明不規則按鈕之原理與實作

 
8866
中階會員


發表:27
回覆:147
積分:69
註冊:2002-10-14

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-01-27 13:36:13 IP:61.222.xxx.xxx 未訂閱
談到做 "淡入淡出" 或是 "半透明" 的特效 , 我就想到 Alpha-Blending ! 什麼是 Alpha Blending ? 其實就是利用 Alpha 的值來混合 Source 像素 and destination 像素 ! 首先先把 Source 像素 and destination 像素的 RGB 三个颜色分離,接著把 Source 像素的三個颜色分别乘上 Alpha 的值,並且把 destination 像素的三 個颜色分别乘上 Alpha 的反值,接下來把结果之颜色相加,再對求得的每個分 量結果除以 Alpha 的最大值,最後把三個颜色重新合成為一個像素即可。 演算程式範例如下 : BYTE r = BYTE((GetRValue(DestColor)*(255-alpha) GetRValue(SrcColor)*alpha)/255); BYTE g = BYTE((GetGValue(DestColor)*(255-alpha) GetGValue(SrcColor)*alpha)/255); BYTE b = BYTE((GetBValue(DestColor)*(255-alpha) GetBValue(SrcColor)*alpha)/255); 控制改變 alpha 的數值 , 即可得到"淡入淡出" 或是 "半透明" 的特效 ! 有了以上的演算程式, 不論任何元件 or 視窗, 都可以來作 "淡入淡出" or "半透明" 的特效 ! ( 而如 ActiveSkin 的特效範例 , 也只剩是時間的問題不再神秘喔 ! ) 上傳圖檔又發生錯誤 , 有高手可以指導一下嗎 ? 圖形位置 : http://delphi.ktop.com.tw/topic.php?TOPIC_ID=64345 發表人 - 8866 於 2005/01/27 14:06:39
附加檔案:64346_MutiClass.zip
taishyang
站務副站長


發表:377
回覆:5490
積分:4563
註冊:2002-10-08

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-01-27 14:57:32 IP:210.68.xxx.xxx 未訂閱
幫忙貼圖 上傳圖片的方式在下面連結中有說明 < href="http://delphi.ktop.com.tw/topic.php?TOPIC_ID=7332">http://delphi.ktop.com.tw/topic.php?TOPIC_ID=7332 發表人 - taishyang 於 2005/01/27 15:11:02
8866
中階會員


發表:27
回覆:147
積分:69
註冊:2002-10-14

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-01-28 09:29:43 IP:59.120.xxx.xxx 未訂閱
感謝 taishyang 不厭其煩的幫忙貼圖 . 我都是用以下的方法帖圖 :    "本站新增一個快速上傳圖檔與連結圖檔網址的方法,請見:" "發表文章快速上傳圖檔的方法"    可是都會發生語法錯誤 ! 不知為何 ?
taishyang
站務副站長


發表:377
回覆:5490
積分:4563
註冊:2002-10-08

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-01-28 10:22:56 IP:210.68.xxx.xxx 未訂閱
8866前輩:
引言: 感謝 taishyang 不厭其煩的幫忙貼圖 . 小事一件啦< > 我都是用以下的方法帖圖 : "本站新增一個快速上傳圖檔與連結圖檔網址的方法,請見:" "發表文章快速上傳圖檔的方法" 可是都會發生語法錯誤 ! 不知為何 ? <>不理會這錯誤訊息就好了< >
順心
8866
中階會員


發表:27
回覆:147
積分:69
註冊:2002-10-14

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-01-28 18:01:21 IP:59.120.xxx.xxx 未訂閱
了解 ! 謝謝 .
vagrant
一般會員


發表:29
回覆:72
積分:20
註冊:2003-07-04

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-02-01 08:12:49 IP:218.16.xxx.xxx 未訂閱
不錯 不知道是否能給出MutiClass的Source呢? 謝謝
8866
中階會員


發表:27
回覆:147
積分:69
註冊:2002-10-14

發送簡訊給我
#7 引用回覆 回覆 發表時間:2005-02-01 14:29:11 IP:59.120.xxx.xxx 未訂閱
我有早期實驗 Alpha Blend 的一段 VC++ Source code ( 不是 MutiClass ) , 有興趣的網友請來信索取 !    給了各位釣竿 , 釣得到魚否 ? 那就八仙過海 ... 
Jade
一般會員


發表:0
回覆:1
積分:0
註冊:2004-06-17

發送簡訊給我
#8 引用回覆 回覆 發表時間:2005-02-02 11:40:48 IP:203.67.xxx.xxx 未訂閱
請問這是利用Dialog方式設計的嗎?如果用SDI也可以這樣做嗎?
xfile
初階會員


發表:21
回覆:80
積分:25
註冊:2004-10-02

發送簡訊給我
#9 引用回覆 回覆 發表時間:2005-02-02 12:27:04 IP:220.130.xxx.xxx 未訂閱
引言: 我有早期實驗 Alpha Blend 的一段 VC Source code ( 不是 MutiClass ) , 有興趣的網友請來信索取 ! 給了各位釣竿 , 釣得到魚否 ? 那就八仙過海 ... < face="Verdana, Arial, Helvetica"> 我比較有興趣的是這個按鈕是怎麼做的, 我現在可以做到一樣的按鈕,不過很費事, 不知道這位前輩有沒有比較好的方法 ?
8866
中階會員


發表:27
回覆:147
積分:69
註冊:2002-10-14

發送簡訊給我
#10 引用回覆 回覆 發表時間:2005-02-02 13:26:12 IP:59.120.xxx.xxx 未訂閱
[/quote]    我比較有興趣的是這個按鈕是怎麼做的, 我現在可以做到一樣的按鈕,不過很費事, 不知道這位前輩有沒有比較好的方法 ?    [/quote]    終於有網友提出實作的問題了 !  請問這是利用 >
系統時間:2024-07-04 16:26:00
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!