国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網站 > WEB開發 > 正文

8.6.將Convolution濾鏡應用于圖像

2024-04-27 13:52:03
字體:
來源:轉載
供稿:網友
8.6.1. 問題
我想要讓用戶改變顏色,對比,或銳利圖像。
8.6.2. 解決辦法
創建一個ConvolutionFilter 的實例, 綁定ConvolutionFilter 的矩陣屬性到用戶可以改變的文本輸入。然后添加濾鏡到圖像的濾鏡數組,以適用于濾鏡。
8.6.3. 討論
ConvolutionFilter 是flash.filter 包中一個最多功能和復雜的濾鏡。它可以用來作浮雕,檢測邊緣,銳化,模糊,等許多其他的效果。全部參數由Matrix 對象控制的3 維矩陣傳遞他的結構到濾鏡中。ConvolutionFilter 在概念上在源圖像上的每個像素一個一個通過計算,并確定最后的像素和像素周邊的顏色。一個矩陣,作為一個數值形數組指定,表明每個像素的周圍,在多大程度上影響顏色最后的結果。構造在這里顯示:
+展開
-ActionScript
ConvolutionFilter(matrixX:Number = 0, matrixY:Number = 0, matrix:Array = null,divisor:Number = 1.0, bias:Number = 0.0, preserveAlpha:Boolean = true,clamp:Boolean = true, color:uint = 0, alpha:Number = 0.0)

他的參數如下:
matrixX:Number (default = 0)
矩陣的x 維(矩陣中列的數量),默認值是0。

matrixY:Number (default = 0)
矩陣的y 維(矩陣中行的數量),默認值是0。

matrix:Array (default = null)
用來做矩陣變幻的數組的值。數組中的項的數量必須等于matrixX * matrixY.

divisor:Number (default = 1.0)
在矩陣變換時使用的除數。默認值是1。除數,整體顏色強度的結果的矩陣的值的和。0被忽略,并使用默認值。

bias:Number (default = 0.0)
添加偏差值到矩陣變換的結果。默認值是0。

preserveAlpha:Boolean (default = true)
值是false 表示alpha 值不保留,卷積適用于所有通道,包括alpha 通道。值是true 表示卷積只適用于顏色通道。默認值是true。

clamp:Boolean (default = true)
源文件的像素,值是true 表明,輸入的圖像的每個邊緣???

color:uint (default = 0)
十六進制的顏色來代替源圖形的像素。

alpha:Number (default = 0.0)
alpha 的替代顏色。

一些常見的ConvolutionFilter 效果分別如下:
+展開
-ActionScript
new ConvolutionFilter(3,3,new Array(-5,0,1,1,-2,3,-1,2,1),1)

創建一個邊緣檢測的圖形,只有最大對比的區域保留。
+展開
-ActionScript
new ConvolutionFilter(3,3,new Array(0,20,0,20,-80,20,0,20,0),10)

創建一個黑白邊框線。
+展開
-ActionScript
new ConvolutionFilter(5,5,new Array(0,1,2,1,0,1,2,4,2,1,2,4,8,4,2,1,2,4,2, 1,0,1,2,1,0),50);

創建一個模糊效果。
+展開
-ActionScript
new ConvolutionFilter(3,3,new Array(-2,-1,0,-1,1,1,0,1,2),0);

創建一個浮雕效果。
完整的代碼如下:
+展開
-XML
<mx:VBox xmlns:mx="http://www.adobe.com/2006/mxmlwidth="450height="550">
<mx:Script>
<![CDATA[
import mx.core.BitmapAsset;
[Embed(source="../assets/mao.jpg")]
private var mao:Class;
private function convolve():void
{
var asset:BitmapAsset = new mao() as BitmapAsset;
var convolution:ConvolutionFilter =
new ConvolutionFilter(matrixXSlider.value, matrixYSlider.value,
[input1.text, input2.text, input3.text, input4.text,
input5.text, input6.text],
divisorSlider.value, biasSlider.value, true);
var _filters:Array = [convolution];
asset.filters = _filters;
img.source = asset;
}

]]>
</mx:Script>
<mx:Button click="convolve()label="convolve away"/>
<mx:HBox>
<mx:Text text="Matrix X"/>
<mx:VSlider height="100id="matrixXSlidervalue="5.0"
change="convolve()"/>

<mx:Text text="Matrix Y"/>
<mx:VSlider height="100id="matrixYSlidervalue="5.0"
change="convolve()"/>

<mx:Text text="Divisor"/>
<mx:VSlider height="100id="divisorSlidervalue="5.0"
change="convolve()"/>

<mx:Text text="Bias"/>
<mx:VSlider height="100id="biasSlidervalue="5.0"
change="convolve()"/>

<mx:VBox>
<mx:TextInput id="input1change="convolve()"
width="40"/>

<mx:TextInput id="input2change="convolve()"
width="40"/>

<mx:TextInput id="input3change="convolve()"
width="40"/>

<mx:TextInput id="input4change="convolve()"
width="40"/>

<mx:TextInput id="input5change="convolve()"
width="40"/>

<mx:TextInput id="input6change="convolve()"
width="40"/>

</mx:VBox>
</mx:HBox>
<mx:Image id="img"/>
</mx:VBox>
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 宁都县| 新密市| 巴塘县| 新邵县| 红原县| 梁平县| 察哈| 景谷| 赣州市| 宝兴县| 黔西| 平陆县| 齐河县| 红原县| 武城县| 稷山县| 大方县| 疏勒县| 金川县| 平湖市| 望都县| 清镇市| 山丹县| 宁德市| 土默特右旗| 沧源| 万全县| 丽江市| 安丘市| 房产| 东兴市| 鄂温| 长治县| 汤原县| 来安县| 濮阳县| 沙雅县| 荣成市| 张家口市| 岳普湖县| 稻城县|