LConvolutionFilter Class
LConvolutionFilter 类应用矩阵盘绕滤镜效果。卷积将输入图像的像素与相邻的像素合并以生成图像。通过卷积,可以实现大量的图像效果,包括模糊、边缘检测、锐化、浮雕和斜角。您可以将滤镜应用于任何显示对象(即,从 LDisplayObject 类继承的对象)
・要对影片剪辑、文本字段、按钮应用滤镜,请使用 filters 属性(继承自 LDisplayObject)。设置对象的 filters 属性不会修改相应的对象,而清除 filters 属性可以删除相应的滤镜。
・要对 LBitmapData 对象应用滤镜,请使用 LBitmapData.applyFilter() 方法。对 LBitmapData 对象调用 applyFilter() 会取得源 LBitmapData 对象和滤镜对象,并最终生成一个过滤图像。
如果对显示对象应用滤镜,则会自动调用该对象的 cacheAsBitmap(true) 。
Constructor
LConvolutionFilter
(
public
-
matrixX
-
matrixY
-
matrix
-
divisor
-
bias
Parameters:
-
matrixX
Int矩阵的 x 维度(矩阵中列的数目)。默认值为 0。
-
matrixY
Int矩阵的 y 维度(矩阵中行的数目)。默认值为 0。
-
matrix
Array用于矩阵转换的值的数组。数组中的项数必须等于 matrixX * matrixY。
-
divisor
Int矩阵转换中使用的除数。默认值为 1。
-
bias
Int要添加到矩阵转换结果的偏差。默认值为 0。
Example:
LInit(1000/60, "legend", 800, 480, main);
function main () {
loader = new LLoader();
loader.addEventListener(LEvent.COMPLETE, loadBitmapdata);
loader.load("face.jpg", "bitmapData");
}
function loadBitmapdata (event) {
var layer = new LSprite();
layer.x = layer.y = 100;
addChild(layer);
var bitmapdata = new LBitmapData(event.target);
var bitmap = new LBitmap(bitmapdata);
layer.addChild(bitmap);
var sprite = new LSprite();
sprite.graphics.drawRect(3, "#000000", [0, 0, 190, 100],true,"#00FF00");
sprite.x = -100;
layer.addChild(sprite);
layer.filters = [new LConvolutionFilter(3,3,[-5, 0, 0, 0, 0, 0, 0, 0, 5])];
}
Methods
callParent
(
public
-
functionName
-
arguments
调用父类的函数。
Parameters:
-
functionName
String函数名
-
arguments
Array固定值arguments
Example:
function funA(){
LExtends(this,LObject,[]);
}
funA.prototype.myName = function(){
return "AAA";
}
function funB(){
LExtends(this,funA,[]);
}
funB.prototype.myName = function(){
return "BBB";
}
function funC(){
LExtends(this,funA,[]);
}
funC.prototype.myName = function(){
return this.callParent("myName",arguments);
}
LInit(1000/50,"legend",800,150,main);
function main(){
LGlobal.setDebug(true);
var objB = new funB();
trace(objB.myName());//BBB
var objC = new funC();
trace(objC.myName());//AAA
}
Properties
objectIndex
Int
public
对象的ID