flash中的渐变滤镜GradientGlowFilter
可使用 GradientGlowFilter 類對顯示對象應用漸變發光效果。 漸變發光是一種非常逼真的發光效果,您可以控制顏色漸變。 可以在對象的內緣或外緣的周圍或者對象的頂部應用漸變發光。 您可以將濾鏡應用于任何顯示對象(即,從 DisplayObject 類繼承的對象),例如 MovieClip、SimpleButton、TextField 和 Video 對象,以及 BitmapData 對象。
濾鏡的具體使用取決于要應用濾鏡的對象:
- 要對顯示對象應用濾鏡,請使用 filters 屬性。 設置對象的 filters 屬性不會修改相應的對象,而清除 filters 屬性可以刪除相應的濾鏡。
- 若要對 BitmapData 對象應用濾鏡,請使用 BitmapData.applyFilter() 方法。 對 BitmapData 對象調用 applyFilter() 會取得源 BitmapData 對象和濾鏡對象,并最終生成一個過濾圖像。
如果對顯示對象應用濾鏡,顯示對象的 cacheAsBitmap 屬性將設置為 true。 如果清除所有濾鏡,將恢復 cacheAsBitmap 的原始值。
此濾鏡支持舞臺縮放。 但是,它不支持常規縮放、旋轉和傾斜;如果對象本身進行了縮放(如果將 scaleX 和 scaleY 設置為除 1.0 以外的其它值),濾鏡效果將不進行縮放。 只有用戶在舞臺上進行放大時它才會縮放。
GradientGlowFilter的構造函數:
public function GradientGlowFilter(distance:Number = 4.0, angle:Number = 45, colors:Array = null, alphas:Array = null, ratios:Array = null, blurX:Number = 4.0, blurY:Number = 4.0, strength:Number = 1, quality:int = 1, type:String = "inner", knockout:Boolean = false)distance:Number (default = 4.0) — 光暈的偏移距離。
angle:Number (default = 45) — 角度,以度為單位。 有效值為 0 到 360。
colors:Array (default = null) — 定義漸變的顏色數組。 例如,紅色為 0xFF0000,藍色為 0x0000FF 等等。
alphas:Array (default = null) — colors 數組中對應顏色的 Alpha 透明度值的數組。 數組中每個元素的有效值為 0 到 1。 例如,值 .25 將 Alpha 透明度值設置為 25%。
ratios:Array (default = null) — 顏色分布比例的數組。 有效值為 0 到 255。 該值定義顏色采樣率為 100% 之處的寬度百分比。
blurX:Number (default = 4.0) — 水平模糊量。 有效值為 0 到 255。 如果模糊量小于或等于 1,則表明原始圖像是按原樣復制的。 2 的乘方值(如 2、4、8、16 和 32)經過優化,呈現速度比其它值更快。
blurY:Number (default = 4.0) — 垂直模糊量。 有效值為 0 到 255。 如果模糊量小于或等于 1,則表明原始圖像是按原樣復制的。 2 的乘方值(如 2、4、8、16 和 32)經過優化,呈現速度比其它值更快。
strength:Number (default = 1) — 印記或跨頁的強度。 該值越高,壓印的顏色越深,而且發光與背景之間的對比度也越強。 有效值為 0 到 255。 值越大,壓印越強。 值為 0 意味著未應用濾鏡。
quality:int (default = 1) — 應用濾鏡的次數。 使用 BitmapFilterQuality 常數:
type:String (default = "inner") — 濾鏡效果的放置。 可能的值是 flash.filters.BitmapFilterType 常數:
knockout:Boolean (default = false) — 指定對象是否具有挖空效果。 應用挖空效果將使對象的填充變為透明,并顯示文檔的背景顏色。 值為 true 將指定應用挖空效果;默認值為 false,即不應用挖空效果。
例子:
1 package { 2 import flash.display.Sprite; 3 import flash.filters.BitmapFilter; 4 import flash.filters.BitmapFilterQuality; 5 import flash.filters.BitmapFilterType; 6 import flash.filters.GradientBevelFilter; 7 8 public class GradientBevelFilterExample extends Sprite { 9 private var bgColor:uint = 0xCCffCC; 10 private var size:uint = 400; 11 private var offset:uint = 50; 12 13 //設置偏移距離,和angleInDegree一起使用,60表示偏移的距離大小 14 private var distance:Number = 60; 15 //設置偏移方向,270表示向正方向偏移 16 private var angleInDegree:Number = 270; 17 //設置用于漸變的顏色的集合 18 private var colors:Array = [0xFF0000, 0xFF0000, 0xff0000, 0xff0000,0xFFffff]; 19 //通過透明度的遞減來實現漸變效果,和顏色對應 20 private var alphas:Array = [0.6, 0.4, 0.3, 0.2,0.1]; 21 private var ratios:Array = [0,150,185, 220, 255]; 22 //該屬性控制在X方向漸變的范圍 23 private var blurX:Number = 300; 24 //該屬性控制在Y方向起作用的漸變范圍 25 private var blurY:Number = 200; 26 //改屬性控制顏色的區分度 27 private var strength:Number = 1; 28 private var quality:Number = BitmapFilterQuality.HIGH; 29 //改屬性控制漸變擴散的方向,向內還是向外,還是既內又外 30 private var type:String = BitmapFilterType.INNER; 31 private var knockout:Boolean = true; 32 33 public function GradientBevelFilterExample() { 34 draw(); 35 var filter:BitmapFilter = getBitmapFilter(); 36 var myFilters:Array = new Array(); 37 myFilters.push(filter); 38 filters = myFilters; 39 } 40 41 42 private function getBitmapFilter():BitmapFilter { 43 return new GradientBevelFilter(distance, 44 angleInDegree, 45 colors, 46 alphas, 47 ratios, 48 blurX, 49 blurY, 50 strength, 51 quality, 52 type, 53 knockout); 54 } 55 56 private function draw():void { 57 graphics.beginFill(bgColor); 58 graphics.drawRect(offset, offset, size, size); 59 graphics.endFill(); 60 } 61 } 62 }?
?
轉載于:https://www.cnblogs.com/hisiqi/archive/2012/10/08/2715922.html
總結
以上是生活随笔為你收集整理的flash中的渐变滤镜GradientGlowFilter的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: The slave I/O thread
- 下一篇: session的存储方式