全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:3196
推到 Plurk!
推到 Facebook!

如何設置動畫的背景為透明???

答題得分者是:jackkcg
takdick
一般會員


發表:50
回覆:63
積分:22
註冊:2002-08-05

發送簡訊給我
#1 引用回覆 回覆 發表時間:2002-09-14 16:42:28 IP:218.102.xxx.xxx 未訂閱
請問如何設置用SHOCKWAVEFLASH 導入後的動畫的背景為透明?? 可在delphi設置嗎???還是用macromedia的flash?? 誰會的,請明示.兩個軟件我都有.
jackkcg
站務副站長


發表:891
回覆:1050
積分:848
註冊:2002-03-23

發送簡訊給我
#2 引用回覆 回覆 發表時間:2002-09-14 18:15:05 IP:61.221.xxx.xxx 未訂閱
FLASH的swl製時為透明使用delphi只是引用ocx元件來撥放 試看看 如果你是要使用圖片的透明可以使用api AlphaBlend、CreateWindowEx、SetWindowLong、TransparentBlt、UpdateLayeredWindow Nichiyo Delphian Back to Top... 06. ウィンドウを半透明化する Back... ********************************************************************** 轉貼日文MSDN http://trans.myany.com/trans/tw/Trans.asp? (請先連接翻譯網站) http://www.microsoft.com/japan/msdn/windows/windows2000/layerwin.asp&ToLanguage=0 Windows 應用軟件一半透明與透明效果使用新手段 層do 窗口 Windows 應用軟件一半透明與透明效果使用新手段 Vadim Gorokhovsky and Lou Amadio Microsoft Corporation January 2000 日語版最後更新日 2000年3月2日 概要:最高水平 窗口透明與一半透明效果追加為了的效率確切的手段成為 Microsoft® Windows® 2000 的新機能說明。 目次 開始 層do 窗口 層do 窗口的使用 打 測驗 過渡效果 層do 窗口的使用常例 總結 開始 Microsoft® Windows® 2000 在……中、高質量與硬渣的有效 UI 根據終 用戶的使任意的向上與、系統再(且.更)使平靜為了的多少的改良含有。Windows 2000 的希臘語第二個字母版安裝底下人、已這些的變更標點的多少?e注意到也許。譬如、希臘字母首字混合做了影子沾的光標、菜單與工具芯片的漸顯或菜單選擇的漸隱、淡出開始作為新過渡效果、優剖祖o的希臘字母首字混合做了圖像(心像)的拖拉等有。這些的效果歪斜辦完、Windows 2000 被引進的層do 窗口 叫做新機能使用特別夜裡被實現了。 幾乎的終 用戶順利的的過渡效果期待。情報眼前pon與被表示的是自然不是。電視、褪與計算尺使用、今後新情報被表示事出示說很好的工作何況……乎這種東西正在推開。計算機□田、這些的效果效率確切 UI 編入事成果丁籬笆。既存的 UI 與電影等能看酷的 UI 北海獅苦戀不同的嗎、稍微思索進貢請。層do 窗口、「酷的」UI 實現為了的大精力生產 設計者給與。 圖 1. Microsoft Money 的上部的一半透明的台式電子計算機與透明的表畫面管理容易西文。 UI 的改良關於、多少的微妙な行變格再夜裡大效果抬事成果。譬如、希臘字母首字 陰影光標深度給與水灣、畫面的公允顯眼平靜使安靜下來。跟隨、大藻nita或表示“多數的”藻nita 系統光標發現平靜結。或、終 用戶菜單選擇底下後面、菜單消失問題思索看。被選擇的項漸隱、淡出特別夜裡、必要的視覺關於回授終 用戶給與事成果。終 用戶正確項被選擇的事確認事成果、點擊之後實際的活動被實行到的時間若無其事埋事成果。 再(且.更)、桌面的面積非常被限定有。藻nita的大形的化與表示“多數的”藻nita 系統稍微援助正在挑、透明與一半透明效果利用 UI 那個ば、這問題的減輕有益。譬如、希臘字母首字混合做了底可見的 Outlook 報警信號 彈出 窗口、顯眼不過因為、表示了如實但工作繼續事成果。或、電子郵件八十的其他的通知畫面表示於是奇怪一半透明或透明效果假如使用的話、彈出 窗口終 用戶的氣息不撒居住。 圖 2. Microsoft 代理人、Windows 2000 終於「pe無效的teィ 框」從溜、過去的象系統 履行影響波及事啊久那裡正下面。 用戶的操縱感覺提高已經 1 角領域作為、動畫 窗口有。迄今為止、動畫矩形的窗口、即「pe無效的teィ 框」被限制現在底下。或、系統對於、動畫 框架的形狀領域作為記述物品假如踢沒結。為此、動畫 窗口表示於是、那個惡劣某(有)窗口頻繁重新繪畫物品假如踢不結為了、履行的問題發生私邸正下面。 Microsoft 代理人、Windows 2000 終於「pe無效的teィ 框」從溜、過去的象系統 履行影響波及事啊久那裡正下面。 層do 窗口 Windows 2000 、Win32 API 的部分被擴張有、那個一個作為稻田 window style bit : WS_EX_LAYERED 被引進了。捆恰當假如使用的話、復雜的形狀的窗口、動畫 窗口、或希臘字母首字混合效果使用窗口的履行與視覺效果寬幅改善能夠。層do 窗口的完全的安裝、Windows 2000 希臘語第二個字母 3 初次一般公開れ正下面。 窗口、其他的窗口根據被切下的矩形作為被表示。應用軟件內的窗口圓形出示因此、應用軟件窗口日圓作為繪畫隻有不夠。系統箱子的窗口矩形作為打 測驗繼續、這窗口的惡劣某(有)窗口、仍然窗口的矩形被切下被表示。跟隨、窗口中央日圓的某(有)灰色的矩形作為被表示。 部分的應用軟件、窗口實際被表示前、那個…情況之下的視覺 位的急射拿、這些的位與窗口的位合成事也能夠吧。可是、這接近、表示“多數的”經過、表示“多數的”蘇聯國家通訊社國王環境完全順利地不生存。其他的窗口這窗口的…情況之下繪畫事有從。應用軟件在……中、那個表面的繪畫不在時而……時而被行為的嗎理解手段花九、新被繪畫的位取得方法也有籬笆。 圖 3. 使用前與使用後面(擴大圖): 希臘字母首字 陰影光標深度給與水灣、畫面上乘顯眼平靜使安靜下來。 Windows 95/98 達到 Windows NT® 4.0 、橢圓形佩帶了刮起或酷的透明數字表等的復雜的形狀應用軟件編制為了的正確方法、SetWindowRgn API 根據形狀表現窗口領域給與特別夜裡形狀指定事討厭。窗口領域的使用在……中、多少的缺點有。窗口領域那個形狀頻繁使動起來蟋蟀、又……又、窗口領域拖拉做時、Windows 惡劣某(有)窗口重新繪畫要求物品假如踢不結。那個表面的時、被生長提示 交通增加不僅隻、窗口領域關聯被靠有與、Windows 無效的領域或可見領域算出因此舉行計算海濱弄完上漲成本腹足類裡。再(且.更)、窗口領域的使用透明、即、彩色鍵效果帶來隻有是、一半透明、即、最高水平 窗口希臘字母首字混合手段在……中不結。 於是層do 窗口的班兒。層do 窗口、2 角不同概念包含。即、短詩ya環 - 窗口雪碧那樣的動作出示可以(能)事與、ri方向 - 系統從來的窗口的繪畫畫面…以外的緩沖區ri直接的能夠事。 層do 窗口的使用 短詩ya環被行為因此、窗口編制行為、GWL_EXSTYLE 指定SetWindowLong 叫出來特別夜裡、WS_EX_LAYERED 位設置正在做狀態必要有。然後、開發者在……中 2 角可選項目有。即、WM_PAINT 八十的其他的繪畫提示應答特別夜裡既存的 Microsoft Win32® 繪畫詞形變化使用嗎、或、夜裡強有力的的短詩ya環 API、UpdateLayeredWindow 利用螃蟹結。 UpdateLayeredWindow 使用在……中、層do 窗口的視覺 位兼容性的某(有)位地圖透視圖れ不れ傻的裡籬笆。然後、兼容性的某(有) GDI Device Context 根據、那個位地圖UpdateLayeredWindow API 、理想的彩色鍵與希臘字母首字混合情報同時能給與。位地圖象素單位的希臘字母首字情報含事也成果。 UpdateLayeredWindow 使用於是奇怪、應用軟件 WM_PAINT 八十的其他的繪畫提示應答沒有必要特別注目請。因為、應用軟件歪斜窗口的視覺表現給與有、那個圖像(心像)的容納、合成、達到畫面往的透視圖系統行為。UpdateLayeredWindow 非常強有力的但是、既存的 Win32 應用軟件的繪畫方法的變更必要作為事餓死ばば有。 層do 窗口使用 2 班眼的方法、現在到原樣 Win32 繪畫詞形變化使用、系統層do 窗口屠蘇的子窗口的繪畫留下辦完畫面…以外的位地圖ri直接的能夠象事。因此在……中、理想的定數的希臘字母首字價或彩色鍵指定SetLayeredWindowAttributes 叫出來。API 被叫出來與、系統窗口根據一切的繪畫的ri直接的開始、被指定的效果自動的應用。 圖 4. Windows 2000 的優剖祖o層do 窗口的一半透明與透明效果使用、桌面的圖像(心像) 拖拉的質量提高。 UpdateLayeredWindow 屬性使用了人效率確切的時也有。應用軟件歪斜辦完的層do 窗口的內存 位地圖容納沒有必要可能從。應用軟件 1 角內存 位地圖保持、復數的層do 窗口關於UpdateLayeredWindow 叫出來臨…之前、那個位地圖繪畫能夠。應用軟件UpdateLayeredWindow 叫出來頻率應答、API 叫出來了後面位地圖刪除事也成果。另一邊、系統根據ri直接的做了窗口總是、ri直接的做了窗口的各個關於、窗口 大小的內存 位地圖保持物品假如踢不結叫做負擔背變成。捆、UpdateLayeredWindow 使用層do 窗口表示了偶爾被消費內存往的負擔增加鄰。因此、的確方便有、SetLayeredWindowAttributes 的使用在……中代償跟。高速的動畫使用時、UpdateLayeredWindow 使用應該。 另外、SetLayeredWindowAttributes 層do 窗口對於被叫出來的後面、短詩ya環 樣式 位清晰的做、再次設置做到、後續的UpdateLayeredWindow 合唱失敗於是說事不忘木偶就是犀。捆、SetLayeredWindowAttributes 窗口繪畫的ri直接的有效為了是、當場合、UpdateLayeredWindow 窗口實際在……中如何拜見嗎關於矛盾了情報給與事有從。 打 測驗 層do 窗口的打 測驗、窗口的形狀與透明度正在根據。捆、被用顏色區分有窗口的領域或希臘字母首字價零的領域、鼠標 提示透過事意思使安靜下來。 層do 窗口 WS_EX_TRANSPARENT 擴張窗口 樣式挺(持有.擁有)時、層do 窗口的形狀被無視、鼠標 集會層do 窗口的…情況之下的其他的窗口被渡。 圖 5. [開始] 菜單消失了後面、被選擇的開始 菜單項 [文件名指定實行] 漸隱、淡出使安靜下來。 過渡效果 窗口漸顯或漸隱、淡出因此大量的代碼寫必要飛螞蟻籬笆。AnimateWindow API 、您的代替一切的工作何況……乎這種東西黃昏。實際、這樣也是、優剖祖o的 [開始] 菜單屠蘇的其他的菜單open 漸顯效果正在拿出。 內部、AnimateWindow 窗口重疊、目的的過渡效果給與。AnimateWindow ri方向機能使用窗口的圖像(心像)得事也成果、現實時 WM_PRINT 提示使用。 褪除了、Animate Window 計算尺效果做事也成果。實際、習慣 菜單寫時、這 API 非常職務立。您的應用軟件、好桌面市民是因此、菜單表示於是奇怪菜單動畫表示或是怎麼樣判斷物品假如踢不結。那個情報得在……中、SPI_GETMENUANIMATION 使用、SystemParametersInfo 根據系統問。再(且.更)、SPI_GETMENUFADE 使用、計算尺與褪的哪一方面的動畫效果使用應該或是怎麼樣研究事成果。使用應該效果一側支了們、計算尺效果得在……中 AW_SLIDE 、褪效果得在……中 AW_BLEND AnimateWindow 渡。 AnimateWindow 在……中、過渡的時間的長度指定參數也有。常識性在……中、過渡效果 200 毫克秒以下應該。 精力 用戶的其中、層do 窗口根據有效做過渡效果的多少輕鬆不進入、這些無效西田井認為人也有吧。因此、應用軟件舉止抑止、SystemParametersInfo 根據系統問、效果有效成為或是怎麼樣確認事重要。 層do 窗口的使用常例 直徑計程儀 框一半透明的窗口作為表示了井時、其次的象使安靜下來。 無論何時的象直徑計程儀 框制定。 WM_INITDIALOG 、窗口的擴張樣式的層do 位設置、理想的希臘字母首字價指定SetLayeredWindowAttributes 叫出來。 代碼其次的象結。 // 這窗口 WS_EX_LAYERED 設置 SetWindowLong(hwnd, GWL_EXSTYLE, GetWindowLong(hwnd, GWL_EXSTYLE) | WS_EX_LAYERED); // 這窗口 70% 的希臘字母首字 SetLayeredWindowAttributes(hwnd, 0, (255 * 70) / 100, LWA_ALPHA); SetLayeredWindowAttributes 的 3 班眼的參數 0 從 255 到的價是、0 完全的透明、255 完全的不透明意思使安靜下來。這參數、夜裡事多道路的 AlphaBlend API 的 BLENDFUNCTION 模仿。 這窗口再次完全不透明西田井時、SetWindowLong 叫出來特別夜裡 WS_EX_LAYERED 刪除了後面、窗口重新繪畫要求。位的刪除、短詩ya環與ri直接的因為(為了)的內存解放即使……傍晚事系統使理解因此必要。代碼、其次的象結。 // 這窗口 樣式從 WS_EX_LAYERED 刪除 SetWindowLong(hwnd, GWL_EXSTYLE, GetWindowLong(hwnd, GWL_EXSTYLE) & ~WS_EX_LAYERED); // 窗口屠蘇的子重新繪畫要求 RedrawWindow(hwnd, NULL, NULL, RDW_ERASE | RDW_INVALIDATE | RDW_FRAME | RDW_ALLCHILDREN); 習慣 菜單的選擇漸隱、淡出等、窗口的特定的領域漸隱、淡出在……中、這工作舉行因此UpdateLayeredWindow 或SetLayeredWindowAttributes 使用專用的層do 窗口制定。譬如、其次的函數 - 優剖祖o菜單選擇項漸隱、淡出於是奇怪舉行事與同樣 - 層do 窗口編制、畫面上部的矩形根據被定義初期視覺 位系統給與。 VOID FadeRect(RECT* prc, HDC hdc) { BOOL fFade = FALSE; HWND hwnd; SIZE size; POINT ptSrc = {0, 0}; BLENDFUNCTION blend; // 用戶的意志尊重: 他們褪正在希望嗎? SystemParametersInfo(SPI_GETSELECTIONFADE, 0, &fFade, 0); if (!fFade) return; hwnd = CreateWindowEx(WS_EX_LAYERED | // 層do 窗口 WS_EX_TRANSPARENT | // 這窗口打 測驗彎曲 WS_EX_TOPMOST | WS_EX_TOOLWINDOW, gszFade, gszFade, WS_POPUP | WS_VISIBLE, prc->left, prc->top, 0, 0, NULL, (HMENU)0, ghinst, NULL); size.cx = prc->right - prc->left; size.cy = prc->bottom - prc->top; blend.BlendOp = AC_SRC_OVER; blend.BlendFlags = 0; blend.AlphaFormat = 0; blend.SourceConstantAlpha = gbAlpha; UpdateLayeredWindow(hwnd, NULL, NULL, &size, hdc, &ptSrc, 0, &blend, ULW_ALPHA); // 最後動畫 大麻設置 SetTimer(hwnd, ID_TIMER, 25, NULL); } 以後、大麻跟隨、新希臘字母首字價給與特別夜裡窗口漸隱、淡出使安靜下來。 case WM_TIMER: { BLENDFUNCTION blend; blend.BlendOp = AC_SRC_OVER; blend.BlendFlags = 0; blend.AlphaFormat = 0; blend.SourceConstantAlpha = gbAlpha; UpdateLayeredWindow(hwnd, NULL, NULL, NULL, NULL, NULL, NULL, &blend, ULW_ALPHA); if (gbAlpha > 25) { gbAlpha -= 25; } else { DestroyWindow(hwnd); } } break; 總結 層do 窗口、最高水平 窗口透明與一半透明效果追加效率確切的手段鄰。層do 窗口根據、開發者嶄新的 UI 或氣息的有效過渡效果新應用軟件或既存的應用軟件容易編入事成果。 發表人 - jackkcg 於 2002/09/14 19:30:30
------
**********************************************************
哈哈&兵燹
最會的2大絕招 這個不會與那個也不會 哈哈哈 粉好

Delphi K.Top的K.Top分兩個字解釋Top代表尖端的意思,希望本討論區能提供Delphi的尖端新知
K.表Knowlege 知識,就是本站的標語:Open our mind
系統時間:2024-04-26 8:09:04
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!