1. 滤镜:import flash.filters.*包中,
如果对显示对象应用滤镜,则该显示对象的
cacheAsBitmap
属性值将设置为true
。 如果清除所有滤镜,将恢复cacheAsBitmap
的原始值。如果结果图像的宽度或高度超过 2880 像素,则不应用滤镜。此滤镜支持舞台缩放。 但是,它不支持常规缩放、旋转和倾斜。 如果对象本身进行了缩放(如果将scaleX
和scaleY
设置为除 1.0 以外的其它值),滤镜将不进行缩放。 只有用户在舞台上进行放大时它才会缩放。■ Drop shadow(投影滤镜)
类名DropShadowFilter
DropShadowFilter(distance:Number = 4.0, angle:Number = 45, color:uint = 0, alpha:Number = 1.0, blurX:Number = 4.0, blurY:Number = 4.0, strength:Number = 1.0, quality:int = 1, inner:Boolean = false, knockout:Boolean = false, hideObject:Boolean = false)
distance:Number
(default =4.0
)— 阴影的偏移距离,以像素为单位。
angle:Number
(default =45
)— 阴影的角度,0 到 360 度(浮点)。
color:uint
(default =0
)— 阴影颜色,采用十六进制格式 0xRRGGBB。 默认值为 0x000000。
alpha: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
)— 印记或跨页的强度。 该值越高,压印的颜色越深,而且阴影与背景之间的对比度也越强。 有效值为 0 到 255.0。
quality:int
(default =1
)— 应用滤镜的次数。 使用 BitmapFilterQuality 常数:
BitmapFilterQuality.LOW
BitmapFilterQuality.MEDIUM
BitmapFilterQuality.HIGH
inner:Boolean
(default =false
)— 表示阴影是否为内侧阴影。 值
true
指定内侧阴影。 值false
指定外侧阴影(对象外缘周围的阴影)。
knockout:Boolean
(default =false
)— 应用挖空效果 (
true
),这将有效地使对象的填色变为透明,并显示文档的背景颜色。 (使原对象为透明)
hideObject:Boolean
(default =false
)— 表示是否隐藏对象。 如果值为
true
,则表示没有绘制对象本身,只有阴影是可见的。
■ Blur(模糊滤镜) ,模糊效果可以柔化图像的细节。
类名BlurFilter
BlurFilter(blurX:Number = 4.0, blurY:Number = 4.0, quality:int = 1)
blurX:Number
(default =4.0
)— 水平模糊量。 有效值为 0 到 255.0(浮点值)。
blurY:Number
(default =4.0
)— 垂直模糊量。 有效值为 0 到 255.0(浮点值)。
quality:int
(default =1
)— 应用滤镜的次数。 您可以使用 BitmapFilterQuality 常数来指定品质:
flash.filters.BitmapFilterQuality.LOW
flash.filters.BitmapFilterQuality.MEDIUM
flash.filters.BitmapFilterQuality.HIGH
高品质接近高斯模糊。 对于大多数应用,这三个值已足够了。 虽然您可以使用不超过 15 的其它数值来达到不同的效果,但是请注意,值越高,呈现速度越慢。
■ Glow(发光滤镜) ,可以对显示对象应用发光效果。
类名GlowFilter
GlowFilter(color:uint = 0xFF0000, alpha:Number = 1.0, blurX:Number = 6.0, blurY:Number = 6.0, strength:Number = 2, quality:int = 1, inner:Boolean = false, knockout:Boolean = false)
color:uint
(default =0xFF0000
)— 光晕颜色,采用十六进制格式 0xRRGGBB。 默认值为 0xFF0000。
alpha:Number
(default =1.0
)— 颜色的 Alpha 透明度值。 有效值为 0 到 1。 例如,.25 设置透明度值为 25%。
blurX:Number
(default =6.0
)— 水平模糊量。 有效值为 0 到 255(浮点)。 2 的乘方值(如 2、4、8、16 和 32)经过优化,呈现速度比其它值更快。
blurY:Number
(default =6.0
)— 垂直模糊量。 有效值为 0 到 255(浮点)。 2 的乘方值(如 2、4、8、16 和 32)经过优化,呈现速度比其它值更快。
strength:Number
(default =2
)— 印记或跨页的强度。 该值越高,压印的颜色越深,而且发光与背景之间的对比度也越强。 有效值为 0 到 255。
quality:int
(default =1
)— 应用滤镜的次数。 使用 BitmapFilterQuality 常数:
BitmapFilterQuality.LOW
BitmapFilterQuality.MEDIUM
BitmapFilterQuality.HIGH
有关详细信息,请参阅
quality
属性的说明。
inner:Boolean
(default =false
)— 指定发光是否为内侧发光。 值
true
指定发光是内侧发光。 值false
指定发光是外侧发光(对象外缘周围的发光)。
knockout:Boolean
(default =false
)— 指定对象是否具有挖空效果。 值为
true
将使对象的填充变为透明,并显示文档的背景颜色。■ Bevel(斜角滤镜) ,斜角效果使对象(如按钮)具有三维外观。
类名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)
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
常数:
BitmapFilterQuality.LOW
BitmapFilterQuality.MEDIUM
BitmapFilterQuality.HIGH
这些值越低,滤镜的呈现速度就越快。 可以使用其它可用的数值来实现不同的效果。
type:String
(default = "inner
")— 斜角类型。 有效值为
BitmapFilterType
常数:BitmapFilterType.INNER
、BitmapFilterType.OUTER
或BitmapFilterType.FULL
。
knockout:Boolean
(default =false
)— 应用挖空效果 (
true
),这将有效地使对象的填色变为透明,并显示文档的背景颜色。■ Gradient bevel(渐变斜角滤镜) ,可以对显示对象应用渐变斜角效果。 渐变斜角是位于对象外部、内部或顶部的使用渐变色增强的有斜面的边缘。 有斜面的边缘使对象具有三维外观。
类名GradientBevelFilter
GradientBevelFilter(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
)— 偏移距离。 有效值为 0 到 8。
angle:Number
(default =45
)— 角度,以度为单位。 有效值为 0 到 360。
colors:Array
(default =null
)— 渐变中使用的 RGB 十六进制颜色值数组。 例如,红色为 0xFF0000,蓝色为 0x0000FF 等等。
alphas:Array
(default =null
)—
colors
数组中对应颜色的 Alpha 透明度值的数组。 数组中每个元素的有效值为 0 到 1。 例如,.25 设置透明度值为 25%。
ratios:Array
(default =null
)— 颜色分布比例的数组;有效值为 0 到 255。
blurX:Number
(default =4.0
)— 水平模糊量。 有效值为 0 到 255。 如果模糊量小于或等于 1,则表明原始图像是按原样复制的。 默认值为 4。 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 常数:
BitmapFilterQuality.LOW
BitmapFilterQuality.MEDIUM
BitmapFilterQuality.HIGH
有关详细信息,请参阅
quality
属性的说明。
type:String
(default = "inner
")— 斜角效果的放置。 可能的值为 BitmapFilterType 常数:
BitmapFilterType.OUTER
-- 对象外缘上的斜角BitmapFilterType.INNER
-- 对象内缘上的斜角BitmapFilterType.FULL
-- 对象顶部的斜角
knockout:Boolean
(default =false
)— 指定是否应用挖空效果。 值为
true
将使对象的填充变为透明,并显示文档的背景颜色。■ Gradient glow(渐变发光滤镜) ,渐变发光是一种非常逼真的发光效果,您可以控制颜色渐变。
类名GradientGlowFilter
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 常数:
BitmapFilterQuality.LOW
BitmapFilterQuality.MEDIUM
BitmapFilterQuality.HIGH
type:String
(default = "inner
")— 滤镜效果的放置。 可能的值是 flash.filters.BitmapFilterType 常数:
BitmapFilterType.OUTER
-- 对象外缘上的发光BitmapFilterType.INNER
-- 对象内缘上的发光;默认值。BitmapFilterType.FULL
-- 对象顶部的发光
knockout:Boolean
(default =false
)— 指定对象是否具有挖空效果。 应用挖空效果将使对象的填充变为透明,并显示文档的背景颜色。 值为
true
将指定应用挖空效果;默认值为false
,即不应用挖空效果。■ Color matrix(颜色矩阵滤镜) ,该类允许饱和度更改、色相旋转、亮度为 Alpha 以及各种其它效果。
类名ColorMatrixFilter
ColorMatrixFilter(matrix:Array = null)
matrix 此处为4*5矩阵,
红,绿,蓝通道的值由如下所示计算方法所决定:
CODE:
redResult = a[0] * srcR + a[1] * srcG + a[2] * srcB + a[3] * srcA + a[4]
greenResult = a[5] * srcR + a[6] * srcG + a[7] * srcB + a[8] * srcA + a[9]
blueResult = a[10] * srcR + a[11] * srcG + a[12] * srcB + a[13] * srcA + a[14]
alphaResult = a[15] * srcR + a[16] * srcG + a[17] * srcB + a[18] * srcA + a[19]可以看出,第一行的值决定了红色值,第二行决定绿色,第三行蓝色,第四行是透明(Alpha)通道值。
如果你想在红色通道加100(偏移量),将a[4]设置为100,如:
图. 红色值增加100如果想使绿色通道加倍,将a[6]设为2,如:
图. 绿色加倍如果你要使结果图像中的蓝色与原图的红色数量相等,将a[10]设为1, a[12]设为0 ,如:
图. 红色决定蓝色值改变图像的亮度,你需要在每个颜色通道的值改变同样的数量。最简单的途径是在每个通道都设置相同的偏移量。偏移量为正时可以增加亮度为负时可以减小亮度。(图8) 是一个增加亮度的例子。
图. 增加亮度你也可以通过将每个颜色通道与一个值相乘按比例的改变亮度,大于1的增加亮度小于1减小亮度。
按照原理,将图像转换为灰度图,你需要将每个通道的部分设为等值。因为有三个通道,你可以将每个通道乘以0.33并将它们相加得到结果值。如(图9)
图 灰度图矩阵
■ Convolution(卷积滤镜), 卷积将输入图像的像素与相邻的像素合并以生成图像。通过卷积,可以实现大量的图像效果,包括模糊、边缘检测、锐化、浮雕和斜角。
类名ConvolutionFilter
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
,则表明通过复制输入图像给定边缘处的颜色值,沿着输入图像的每个边框按需要扩展输入图像。 如果值为false
,则表明应按照color
和alpha
属性中的指定使用其它颜色。 默认值为true
。
color:uint
(default =0
)— 要替换源图像之外的像素的十六进制颜色。
alpha:Number
(default =0.0
)— 替换颜色的 Alpha。
这里matrix即为要与图像进行卷积操作的矩阵,一般称为模板。matrixX和matrixY指明了模板的大小。简单起见,我们以3*3的模板为例。
运算的公式可以这样表示(对于每个颜色通道):dst (x, y) = ((src (x-1, y-1) * a0 + src(x, y-1) * a1....src(x, y+1) * a7 + src (x+1,y+1) * a8) / divisor) + bias
a0—a8分别为matrix[0]—matrix[8]
可以简单理解为:
一个3*3大小的模板覆盖在图像上,并在图像上移动。模板中心位置(matrix[4])处图像的像素值为模板下9个像素值与模板各个元素值的加权求和(这里的求和是分别对每个a、r、g、b每个通道进行求和),再除以一个系数divisor防止图像过饱和。最终加上偏移量bias。(边界位置不考虑。)■ Displacement map(置换图滤镜),实现了图像像素的替换、重组,最直观的理解就是透过水面看下面。
类名DisplacementMapFilter
DisplacementMapFilter(mapBitmap:BitmapData = null, mapPoint:Point = null, componentX:uint = 0, componentY:uint = 0, scaleX:Number = 0.0, scaleY:Number = 0.0, mode:String = "wrap", color:uint = 0, alpha:Number = 0.0)
mapBitmap:BitmapData
(default =null
)— 包含置换映射数据的 BitmapData 对象。
mapPoint:Point
(default =null
)— 一个值,它包含目标显示对象的左上角相对于映射图像左上角的偏移量。
componentX:uint
(default =0
)— 说明在映射图像中使用哪个颜色通道来置换 x 结果。 可能的值为 BitmapDataChannel 常数。
componentY:uint
(default =0
)— 说明在映射图像中使用哪个颜色通道来置换 y 结果。 可能的值为 BitmapDataChannel 常数。
scaleX:Number
(default =0.0
)— 用于缩放映射计算的 x 置换结果的乘数。
scaleY:Number
(default =0.0
)— 用于缩放映射计算的 y 置换结果的乘数。
mode:String
(default = "wrap
")— 滤镜模式。 可能的值为 DisplacementMapFilterMode 常数。
color:uint
(default =0
)— 指定对于超出范围的替换应用什么颜色。 置换的有效范围是 0.0 到 1.0。如果
mode
设置为DisplacementMapFilterMode.COLOR
,则使用此参数。
alpha:Number
(default =0.0
)— 指定对于超出范围的替换应用什么 Alpha 值。 它被指定为 0.0 到 1.0 之间的标准值。例如,.25 设置透明度值为 25%。 如果
mode
设置为DisplacementMapFilterMode.COLOR
,则使用此参数。
making things move as3 阅读笔记---绘图API 续
最新推荐文章于 2020-09-28 13:24:17 发布