as3 獲取非透明區域

2021-06-19 09:24:29 字數 962 閱讀 5235

bitmapdata.getcolorboundsrect(0xff000000,0x00000000,false)

主要方法我們用到getcolorboundsrect

來獲取非透明區域的大小getcolorboundsrect

的引數可以方便 的讓我們賽選出非透明區域 處理過程如下: bitmapdata.getcolorboundsrect

(0xff000000,0x00000000,false) 可能你會以為為什麼我要定義這樣兩個引數來排除區域,

首先,我們應該知道 png圖是argb制式,也就是說出類紅綠藍3通道外還帶一alpha的透明通道 乙個16進製制的通道值大致是0xaarrggbb 除0x外每兩個數代表一組,前兩個代表通明通道,ff是最大值,00是最小值,其他3通道一樣。

getcolorboundsrect

引數的說明如下

mask:uint — 乙個十六進製制值,指定要考慮的 argb 顏色的位。 通過使用 &(按位 and)運算子,將顏色值與此十六進製制值合併。 color:uint — 乙個十六進製制值,指定要匹配(如果 findcolor 設定為 true)或不 匹配(如果 findcolor 設定為 false)的 argb 顏色。 findcolor:boolean (default = true) — 如果該值設定為 true,則返回影象中顏色值的範圍。 如果該值設定為 false,則返回影象中不存

上邊的0xff000000代 表的是透明度最大,0x00000000代表的是完全透明的 通過對 getcolorboundsrect

引數的理解 我們知道 mask是乙個顏色值合併引數,他會先對bitmapdata的所有畫素進行合併,然後根據第二個匹配引數 也就是完全透明的的值進行匹配,最後根據findcolor返回匹配的結果, 正果過程就是將bitmapdata的所有畫素匹配完全透明值,返回非透明的實際矩形範圍。 這樣子我們就可以得到我們所需要的實際包影象範圍了~

使用AS3獲取組合鍵

判斷鍵盤上兩個按鈕同時按下即是否使用了組合鍵.keyboardevent類,提供了普通鍵盤上三個控制鍵 ctrl,shift和alt 是否處在活動狀態的判斷,通過這個判斷來確定使用者是否按下了組合鍵.但是,組合鍵的判斷不能寫在key down事件裡,因該寫在key up事件中才能獲取.原因很簡單,我...

使用AS3獲取組合鍵

判斷鍵盤上兩個按鈕同時按下即是否使用了組合鍵.keyboardevent類,提供了普通鍵盤上三個控制鍵 ctrl,shift和alt 是否處在活動狀態的判斷,通過這個判斷來確定使用者是否按下了組合鍵.但是,組合鍵的判斷不能寫在key down事件裡,因該寫在key up事件中才能獲取.原因很簡單,我...

AS3獲取SWF檔案中AS鏈結

遊戲中經常使用到swf美術,但swf檔案中,會有多個元件,每個元件對應乙個指定as鏈結,乙個元件還會有多個圖層。在實際操作中,會出現要求顯示乙個指定元件,並在該動畫資源中,有的動畫要求加滑鼠事件,有的則不加任何事件,即指定圖層的呼叫。既要求過場動畫的歡洽,又要求互動事件的滑鼠點選時的動畫效果以及配音...