套件 | flash.filters |
類別 | public final class BevelFilter |
繼承 | BevelFilter BitmapFilter Object |
語言版本: | ActionScript 3.0 |
執行階段版本: | AIR 1.0, Flash Player 9 |
若要建立新的濾鏡,請使用 new BevelFilter()
建構函式。 濾鏡的使用取決於濾鏡套用到的物件:
- 若要將濾鏡套用至影片片段、文字欄位、按鈕與視訊,請使用
filters
屬性 (從 DisplayObject 繼承而來)。 設定物件的filters
屬性不會修改該物件,而且只要清除filters
屬性就可以移除濾鏡。 - 若要將濾鏡套用至 BitmapData 物件,請使用
BitmapData.applyFilter()
方法。 對 BitmapData 物件呼叫applyFilter()
時會採用原始 BitmapData 物件和濾鏡物件,結果會產生套用濾鏡後的影像。
如果您將濾鏡套用至顯示物件,該顯示物件的 cacheAsBitmap
屬性值就會設定為 true
。 如果您移除所有濾鏡,就會還原 cacheAsBitmap
的原始值。
這個濾鏡支援舞台縮放。但是,並不支援一般的縮放、旋轉和傾斜。 如果是縮放物件本身 (如果 scaleX
和 scaleY
屬性不是設定為 100%),則不會縮放濾鏡。 濾鏡只在使用者在「舞台」上放大顯示時才會進行縮放。
如果產生的影像超過最大尺寸,系統就不會套用濾鏡。在 AIR 1.5 和 Flash Player 10 中,最大寬度或高度為 8,191 像素,而且像素總計不得超過 16,777,215 像素。(因此,如果影像寬度為 8,191 像素,則其高度上限為 2,048 像素)。若為 Flash Player 9 和 AIR 1.1 及其更早版本,高度和寬度的上限都是 2,880 像素。例如,當您在套用某個濾鏡的大型影片片段上進行放大顯示時,如果產生的影像超過最大尺寸,便會關閉該濾鏡。
相關 API 元素
flash.display.DisplayObject.cacheAsBitmap
flash.display.BitmapData.applyFilter()
屬性 | 定義自 | ||
---|---|---|---|
angle : Number
斜角的角度。 | BevelFilter | ||
blurX : Number
水平模糊化量,以像素為單位。 | BevelFilter | ||
blurY : Number
垂直模糊化量,以像素為單位。 | BevelFilter | ||
constructor : Object
類別物件的參照或是特定物件實體的建構函數。 | Object | ||
distance : Number
斜角的偏移距離。 | BevelFilter | ||
highlightAlpha : Number
反白標示顏色的 Alpha 透明度值。 | BevelFilter | ||
highlightColor : uint
斜角的反白標示顏色。 | BevelFilter | ||
knockout : Boolean
套用去底色特效 (true),可以有效地讓物件的填色透明,並顯露出文件的背景顏色。 | BevelFilter | ||
quality : int
套用濾鏡的次數。 | BevelFilter | ||
shadowAlpha : Number
陰影顏色的 Alpha 透明度值。 | BevelFilter | ||
shadowColor : uint
斜角的陰影顏色。 | BevelFilter | ||
strength : Number
壓印強度或範圍。 | BevelFilter | ||
type : String
斜角在物件上的位置。 | BevelFilter |
方法 | 定義自 | ||
---|---|---|---|
BevelFilter(distance:Number = 4.0, angle:Number = 45, highlightColor:uint = 0xFFFFFF, highlightAlpha:Number = 1.0, shadowColor:uint = 0x000000, shadowAlpha:Number = 1.0, blurX:Number = 4.0, blurY:Number = 4.0, strength:Number = 1, quality:int = 1, type:String = "inner", knockout:Boolean = false)
以指定的參數初始化新的 BevelFilter 實體。 | BevelFilter | ||
[覆寫]
傳回此濾鏡物件的副本。 | BevelFilter | ||
指出物件是否有已定義的指定屬性。 | Object | ||
指出 Object 類別的實體是否位於指定為參數的物件原型鏈中。 | Object | ||
指出指定的屬性是否存在,以及是否可列舉。 | Object | ||
為迴圈作業設定動態屬性的可用性。 | Object | ||
傳回代表此物件的字串,根據地區特定慣例進行格式化。 | Object | ||
會傳回指定之物件的字串形式。 | Object | ||
會傳回指定之物件的基本值。 | Object |
angle | 屬性 |
blurX | 屬性 |
blurY | 屬性 |
distance | 屬性 |
highlightAlpha | 屬性 |
highlightColor | 屬性 |
knockout | 屬性 |
quality | 屬性 |
quality:int
語言版本: | ActionScript 3.0 |
執行階段版本: | AIR 1.0, Flash Player 9 |
套用濾鏡的次數。 預設值為 BitmapFilterQuality.LOW
(相當於套用一次濾鏡)。 BitmapFilterQuality.MEDIUM
值會套用兩次濾鏡,而 BitmapFilterQuality.HIGH
值會套用三次濾鏡。 設定值較低的濾鏡,其顯示速度較快。
對大部份應用程式而言,將 quality
值設為低、中或高就足夠了。 雖然您可以使用其他數值 (最高可至 15) 來達成不同的效果,但越高的值就代表越緩慢的顯示速度。 只要增加 blurX
和 blurY
屬性的值,通常就可以得到類似的效果和較快的顯示速度,而不需要增加 quality
的值。
您可以使用下列 BitmapFilterQuality
常數來指定 quality
屬性值:
BitmapFilterQuality.LOW
BitmapFilterQuality.MEDIUM
BitmapFilterQuality.HIGH
實作
public function get quality():int
public function set quality(value:int):void
shadowAlpha | 屬性 |
shadowColor | 屬性 |
strength | 屬性 |
type | 屬性 |
type:String
語言版本: | ActionScript 3.0 |
執行階段版本: | AIR 1.0, Flash Player 9 |
斜角在物件上的位置。 內斜角和外斜角會放置於內緣或外緣,而全斜角則會放置於整個物件上。 有效值為 BitmapFilterType
常數:
BitmapFilterType.INNER
BitmapFilterType.OUTER
BitmapFilterType.FULL
實作
public function get type():String
public function set type(value:String):void
擲回值
TypeError — 設定時,字串為 null
|
BevelFilter | () | 建構函式 |
public function BevelFilter(distance:Number = 4.0, angle:Number = 45, highlightColor:uint = 0xFFFFFF, highlightAlpha:Number = 1.0, shadowColor:uint = 0x000000, shadowAlpha:Number = 1.0, blurX:Number = 4.0, blurY:Number = 4.0, strength:Number = 1, quality:int = 1, type:String = "inner", knockout:Boolean = false)
語言版本: | ActionScript 3.0 |
執行階段版本: | AIR 1.0, Flash Player 9 |
以指定的參數初始化新的 BevelFilter 實體。
參數distance:Number (default = 4.0 ) — 斜角的偏移距離,以像素為單位 (浮點)。
| |
angle:Number (default = 45 ) — 斜角的角度,從 0 至 360 度。
| |
highlightColor:uint (default = 0xFFFFFF ) — 斜角的反白標示顏色 0xRRGGBB。
| |
highlightAlpha:Number (default = 1.0 ) — 反白標示顏色的 Alpha 透明度值。 有效值為 0.0 到 1.0。例如,.25 會設定 25% 的透明度值。
| |
shadowColor:uint (default = 0x000000 ) — 斜角的陰影顏色 0xRRGGBB。
| |
shadowAlpha:Number (default = 1.0 ) — 陰影顏色的 Alpha 透明度值。 有效值為 0.0 到 1.0。例如,.25 會設定 25% 的透明度值。
| |
blurX:Number (default = 4.0 ) — 水平模糊化量,以像素為單位。 有效值為 0 到 255.0 (浮點)。
| |
blurY:Number (default = 4.0 ) — 垂直模糊化量,以像素為單位。 有效值為 0 到 255.0 (浮點)。
| |
strength:Number (default = 1 ) — 壓印強度或範圍。 數值越高,便壓印越多顏色,斜角與背景之間的對比越強烈。 有效值為 0 到 255.0。
| |
quality:int (default = 1 ) — 斜角的品質。 有效值為 0 至 15,不過對大部份應用程式而言,您可以使用 BitmapFilterQuality 常數:
設定值較低的濾鏡具有更快的顯示速度。 您可以使用其他可用數值來達到不同的效果。 | |
type:String (default = "inner ") — 斜角類型。 有效值為 BitmapFilterType 常數:BitmapFilterType.INNER 、BitmapFilterType.OUTER 或 BitmapFilterType.FULL 。
| |
knockout:Boolean (default = false ) — 套用去底色特效 (true ),可以有效地讓物件的填色透明,並顯露出文件的背景顏色。
|
相關 API 元素
clone | () | 方法 |
override public function clone():BitmapFilter
語言版本: | ActionScript 3.0 |
執行階段版本: | AIR 1.0, Flash Player 9 |
傳回此濾鏡物件的副本。
傳回值BitmapFilter — 新的 BevelFilter 實體,其所有屬性都和原始的 BevelFilter 實體相同。
|
- 匯入所需的類別。
- 宣告三個用於
draw()
函數內的屬性,將物件繪製到套用的斜角濾鏡。 - 建立
BevelFilterExample()
建構函數,以進行下列動作:- 呼叫
draw()
函數 (此函數會在稍後宣告)。 - 將
filter
變數宣告為 BitmapFilter 物件,並將其指定給呼叫getBitmapFilter()
的傳回值。 - 建立新的 Array 物件
myFilters
,並將filter
加入陣列,然後指定myFilters
給 BevelFilterExample 物件的filters
屬性。 這樣就會套用myFilters
中找到的所有濾鏡,而在本範例中只有filter
。
- 呼叫
- 建立
getBitmapFilter
函數,以建立並設定濾鏡的屬性。 - 建立
draw()
函數。 此函數會使用 Graphics 類別的方法 (透過 Sprite 類別的graphics
屬性存取) 來繪製方形。
package { import flash.display.Sprite; import flash.filters.BevelFilter; import flash.filters.BitmapFilter; import flash.filters.BitmapFilterQuality; import flash.filters.BitmapFilterType; public class BevelFilterExample extends Sprite { private var bgColor:uint = 0xFFCC00; private var size:uint = 80; private var offset:uint = 50; public function BevelFilterExample() { draw(); var filter:BitmapFilter = getBitmapFilter(); var myFilters:Array = new Array(); myFilters.push(filter); filters = myFilters; } private function getBitmapFilter():BitmapFilter { var distance:Number = 5; var angleInDegrees:Number = 45; var highlightColor:Number = 0xFFFF00; var highlightAlpha:Number = 0.8; var shadowColor:Number = 0x0000FF; var shadowAlpha:Number = 0.8; var blurX:Number = 5; var blurY:Number = 5; var strength:Number = 5; var quality:Number = BitmapFilterQuality.HIGH; var type:String = BitmapFilterType.INNER; var knockout:Boolean = false; return new BevelFilter(distance, angleInDegrees, highlightColor, highlightAlpha, shadowColor, shadowAlpha, blurX, blurY, strength, quality, type, knockout); } private function draw():void { graphics.beginFill(bgColor); graphics.drawRect(offset, offset, size, size); graphics.endFill(); } } }
Tue Jun 12 2018, 03:47 PM Z