zoukankan      html  css  js  c++  java
  • flash滤镜

    flash滤镜:

    AS实现滤镜效果、
    使用滤镜
    Flash的filters类为我们提供了9种滤镜效果,要用AS实现滤镜效果,首先仍然需导入filters类:
    import flash.filters.*;
    然后,使用new构造函数,创建一个filters对象,并将它赋值给MC(或文本或按钮)的filters属性从而实现滤镜效果。
    下面分别介绍这些滤镜效果:

    1. 模糊滤镜:BlurFilter
    BlurFilter类可以带来模糊的效果。要创建BlurFilter实例可用下面的方法:
    var filter: BlurFilter = new BlurFilter(blurX, blurY, quality);
    在BlurFilter的构造函数中使用了三个参数:
    blurX: 水平模糊量。有效值为 0 到 255(浮点值)。默认值是 4。作为 2 的乘方的值(如 2、4、8、16 和 32)经过了优化,呈现速度比其它值更快。
    blurY: ― 垂直模糊量。有效值为 0 到 255(浮点值)。默认值是 4。作为 2 的乘方的值(如 2、4、8、16 和 32)经过了优化,呈现速度比其它值更快。
    quality: ― 应用滤镜的次数。默认值是 1,即表示低品质。值为 2 表示中等品质,值为 3 表示高品质并且接近高斯模糊。
    下面还是用一个练习来熟悉模糊滤镜的应用。
    导入一张图片将它做成MC,放到舞台上,实例名称为:my_mc.
    然后打开帧动作面板,输入下列代码:
    import flash.filters.*
    var filter:BlurFilter = new BlurFilter(8,8,3);
    my_mc.filters = [filter];


    2. 投影滤镜:DropShadowFilter
    DropShadowFilter滤镜将产生投影的效果。要创建投影滤镜可用:
    var filter: DropShadowFilter = new DropShadowFilter(distance, angleInDegrees,color,alpha,blurX,blurY,strength,quality,inner,knockout,hideObject);
    投影影滤镜的参数比较多哈,还是一个一个介绍一下:
    distance:― 阴影的偏移距离,以像素为单位。默认值是 4(浮点)。
    angle:― 阴影的角度,0 到 360˚(浮点)。默认值是 45。
    color:― 阴影颜色,采用十六进制格式 0xRRGGBB。默认值是 0x000000。
    alpha:― 阴影颜色的 Alpha 透明度值。有效值为 0 到 1。例如,0.25 设置透明度值为 25%。默认值是 1。
    blurX:― 水平模糊量。有效值为 0 到 255(浮点)。默认值是 4。作为 2 的乘方的值(如 2、4、8、16 和 32)经过了优化,呈现速度比其它值更快。
    blurY:― 垂直模糊量。有效值为 0 到 255(浮点)。默认值是 4。作为 2 的乘方的值(如 2、4、8、16 和 32)经过了优化,呈现速度比其它值更快。
    strength:― 压印或跨页的强度。该值越高,压印的颜色越深,而且阴影与背景之间的对比度也越强。有效值为 0 到 255。默认值是 1。
    quality:― 应用滤镜的次数。有效值为 0 到 15。默认值是 1,它表示低品质。值为 2 表示中等品质,值为 3 表示高品质。
    inner:― 表示阴影是否为内侧阴影。值 true 指定内侧阴影。默认为 false,即外侧阴影,它表示对象外缘周围的阴影。
    knockout:― 应用挖空效果 (true),这将有效地使对象的填色变为透明,并显示文档的背景颜色。默认值是 false,即不应用挖空效果。
    hideObject:― 表示是否隐藏对象。如果值为 true,则表示没有绘制对象本身,只有阴影是可见的。默认值是 false(显示对象)。
    做个练习,将上面练习的代码改为:
    import flash.filters.*
    var filter:DropShadowFilter = new DropShadowFilter();
    my_mc.filters = [filter];


    3.发光滤镜:GlowFilter
    构造函数:
    var filter:GlowFilter = new GlowFilter(color,alpha,blurX,blurY,strength,quality,inner,knockout);
    参数:
    color:― 光晕颜色,采用十六进制格式 0x RRGGBB。默认值是 0xFF0000。
    alpha:― 颜色的 Alpha 透明度值。有效值为 0 到 1。例如,.25 设置透明度值为 25%。默认值是 1。
    blurX:― 水平模糊量。有效值为 0 到 255(浮点)。默认值是 6。作为 2 的乘方的值(如 2、4、8、16 和 32)经过了优化,它的呈现速度会比其它值更快。
    blurY:― 垂直模糊量。有效值为 0 到 255(浮点)。默认值是 6。作为 2 的乘方的值(如 2、4、8、16 和 32)经过了优化,它的呈现速度会比其它值更快。
    strength:― 压印或跨页的强度。该值越高,压印的颜色越深,而且发光与背景之间的对比度也越强。有效值为 0 到 255。默认值是 2。
    quality:― 应用滤镜的次数。有效值为 0 到 15。默认值是 1,它表示低品质。值为 2 表示中等品质,值为 3 表示高品质。
    inner:― 指定发光是否为内侧发光。值 true 表示内侧发光。默认值是 false,即外侧发光,它表示对象外缘周围的发光。
    knockout:― 指定对象是否具有挖空效果。值为 true 将使对象的填充变为透明,并显示文档的背景颜色。默认值是 false(不应用挖空效果)。

    4. 渐变发光滤镜:GradientGlowFilter
    构造函数:
    var filter:GradientGlowFilter = new GradientGlowFilter(distance,angleInDegrees, colors, alphas, ratios, blurX, blurY, strength, quality, type, knockout);

    参数:
    distance:― 光晕的偏移距离。默认值为 4。
    angle:― 角度,以度为单位。有效值为 0 到 360。默认值是 45。
    colors: ― 定义渐变的颜色的数组。例如,红色为 0xFF0000,蓝色为 0x0000FF,依此类推。
    alphas: ― colors 数组中对应颜色的 Alpha 透明度值的数组。数组中每个元素的有效值为 0 到 1。例如,值为 .25 设置 Alpha 透明度值为 25%。
    ratios: ― 颜色分布比例的数组。有效值为 0 到 255。该值定义宽度的百分比,颜色采样率为 100%。
    blurX: ― 水平模糊量。有效值为 0 到 255。如果模糊量小于等于 1,则表明原始图像是按原样复制的。默认值是 4。作为 2 的乘方的值(如 2、4、8、16 和 32)经过了优化,呈现速度比其它值更快。
    blurY:― 垂直模糊量。有效值为 0 到 255。如果模糊量小于等于 1,则表明原始图像是按原样复制的。默认值是 4。作为 2 的乘方的值(如 2、4、8、16 和 32)经过了优化,呈现速度比其它值更快。
    strength: ― 压印或跨页的强度。该值越高,压印的颜色越深,而且发光与背景之间的对比度也越强。有效值为 0 到 255。值越大,压印越强。值为 0 意味着未应用滤镜。默认值是 1。
    quality: ― 应用滤镜的次数。有效值为 0 到 15。默认值是 1,它表示低品质。值为 2 表示中等品质,值为 3 表示高品质。
    type: ― 滤镜效果的放置。可能的值包括:
    "outer":对象外缘上的发光
    "inner":对象内缘上的发光;默认值
    "full":对象顶部的发光

    5. 斜角滤镜:BevelFilter(斜角滤镜可产生三维效果。)
    构造函数:
    var filter:BevelFilter = new BevelFilter(distance, angleInDegrees, highlightColor, highlightAlpha, shadowColor, shadowAlpha, blurX, blurY, strength, quality, type, knockout);
    参数:
    distance:― 斜角的偏移距离,以像素为单位(浮点)。默认值是 4。
    angle:― 斜角的角度,0 至 360 度。默认值是 45。
    highlightColor:― 斜角的加亮颜色 0xRRGGBB 。默认值是 0xFFFFFF。
    highlightAlpha: ―加亮颜色的 Alpha 透明度值。有效值为 0 到 1。例如,.25 设置透明度值为 25%。默认值是 1。
    shadowColor:― 斜角的阴影颜色 0xRRGGBB 。默认值是 0x000000。
    shadowAlpha: ― 阴影颜色的 Alpha 透明度值。有效值为 0 到 1。例如,0.25 设置透明度值为 25%。默认值是 1。
    blurX: ― 水平模糊量,以像素为单位。有效值为 0 到 255(浮点)。默认值是 4。作为 2 的乘方的值(如 2、4、8、16 和 32)经过了优化,呈现速度比其它值更快。
    blurY: ― 垂直模糊量,以像素为单位。有效值为 0 到 255(浮点)。默认值是 4。作为 2 的乘方的值(如 2、4、8、16 和 32)经过了优化,呈现速度比其它值更快。
    strength: ― 压印或跨页的强度。该值越大,压印的颜色越深,而且斜角与背景之间的对比度也越强。有效值为 0 到 255。默认值是 1。
    quality: ― 应用滤镜的次数。默认值是 1,即表示低品质。值为 2 表示中等品质,值为 3 表示高品质。
    type:― 斜角的类型。有效值为 "inner"、"outer" 和 "full"。默认值为 "inner"。
    knockout: ― 应用挖空效果 (true),这将有效地使对象的填色变为透明,并显示文档的背景颜色。默认值是 false(不应用挖空效果)。


    6. 渐变斜角滤镜:GradientBevelFilter
    构造函数:
    var filter:GradientBevelFilter = new GradientBevelFilter(distance, angleInDegrees, colors, alphas, ratios, blurY, quality, type, knockout);
    参数:
    distance: ― 偏移距离。有效值为 0 到 8。默认值为 4。
    angle: ― 角度,以度为单位。有效值为 0 到 360。默认值是 45。
    colors: ― 渐变中使用的 RGB 十六进制颜色值的数组。例如,红色为 0xFF0000,蓝色为 0x0000FF,依此类推。
    alphas: ― colors 数组中对应颜色的 Alpha 透明度值的数组。数组中每个元素的有效值为 0 到 1。例如,.25 设置透明度值为 25%。
    ratios: ― 颜色分布比例的数组;有效值为 0 到 255。
    blurX: ― 水平模糊量。有效值为 0 到 255。如果模糊量小于等于 1,则表明原始图像是按原样复制的。默认值是 4。作为 2 的乘方的值(如 2、4、8、16 和 32)经过了优化,呈现速度比其它值更快。
    blurY: ― 垂直模糊量。有效值为 0 到 255。如果模糊量小于等于 1,则表明原始图像是按原样复制的。默认值是 4。作为 2 的乘方的值(如 2、4、8、16 和 32)经过了优化,呈现速度比其它值更快。
    strength: ― 压印或跨页的强度。该值越高,压印的颜色越深,而且斜角与背景之间的对比度也越强。有效值为 0 到 255。值为 0 表明没有应用滤镜。默认值是 1。
    quality: ― 滤镜的质量。有效值为 0 到 15。默认值是 1。几乎在所有情况下,有用值都是 1(低品质)、2(中等品质)和 3(高品质)。滤镜的值越小,呈现速度越快。
    type: ― 斜角效果的放置。可能的值包括:
    "outer" :对象外缘上的斜角
    "inner" :对象内缘上的斜角
    "full" :对象顶部的斜角
    默认值为 "inner"。
    knockout: ― 指定是否应用挖空效果。值为 true 将使对象的填充变为透明,并显示文档的背


    7. 矩阵颜色滤镜:ColorMatrixFilter
    使用这个滤镜可以将一个4x5的矩阵应到MC(或位图)上,从面改变MC的色相,透明度及亮度等。我想这个滤镜的难点应该是对这个矩阵的理解上。RGB 颜色由红绿蓝三种色组成,矩阵将各像素颜色拆分成红绿蓝三种色另加一个透明度。共四个通道。每个通道由5组值组成这就形成了一个4x5的矩阵。看看下图,来理解一下:
    红 绿 蓝 透明度 结果
    红色 1 0 0 0 0
    绿色 0 1 0 0 0
    蓝色 0 0 1 0 0
    透明度 0 0 0 N 0(N为0.1-1)
    从上面的矩阵中可看出,每个通道在其相应的位置设置了值,最小是0,最大为1,改变这些值就可改变图象的色相及透明度。结果的数值改变可改变图象的亮度。比如将矩阵中红色通道的值由1改为0.5,那么图象中的红色元素将会降低。
    在实际应用中,将这个矩阵赋值给一个数组,再将这个数组作为ColorMatrixFilter类构造函数的参数,最后将MC的filters属性设为ColorMatrixFilter类的实例。这同使用其它滤镜一样。


    7. 矩阵颜色滤镜:ColorMatrixFilter
    使用这个滤镜可以将一个4x5的矩阵应到MC(或位图)上,从面改变MC的色相,透明度及亮度等。我想这个滤镜的难点应该是对这个矩阵的理解上。RGB 颜色由红绿蓝三种色组成,矩阵将各像素颜色拆分成红绿蓝三种色另加一个透明度。共四个通道。每个通道由5组值组成这就形成了一个4x5的矩阵。看看下图,来理解一下:
    红 绿 蓝 透明度 结果
    红色 1 0 0 0 0
    绿色 0 1 0 0 0
    蓝色 0 0 1 0 0
    透明度 0 0 0 N 0(N为0.1-1)
    从上面的矩阵中可看出,每个通道在其相应的位置设置了值,最小是0,最大为1,改变这些值就可改变图象的色相及透明度。结果的数值改变可改变图象的亮度。比如将矩阵中红色通道的值由1改为0.5,那么图象中的红色元素将会降低。
    在实际应用中,将这个矩阵赋值给一个数组,再将这个数组作为ColorMatrixFilter类构造函数的参数,最后将MC的filters属性设为ColorMatrixFilter类的实例。这同使用其它滤镜一样。

    8.图片置换滤镜:
    mapBitmap: ― 包含置换映射数据的 BitmapData 对象。
    mapPoint: ― 一个 flash.geom.Point 值,它包含目标影片剪辑的左上角与映射图像左上角之间的偏移量。
    componentX: ― 说明在映射图像中使用哪个颜色通道来置换 x 结果。 可能的值如下所示:
    • 1(红色)
    • 2(绿色)
    • 4 (蓝色)
    • 8 (alpha)
    componentY: ― 说明在映射图像中使用哪个颜色通道来置换 y 结果。可能的值如下所示:
    • 1 (红色)
    • 2(绿色)
    • 4(蓝色)
    • 8 (alpha)
    scaleX: ― 用于缩放映射计算的 x 置换结果的乘数。
    scaleY: ― 用于缩放映射计算的 y 置换结果的乘数。
    mode: [可选] ― 滤镜的模式。可能的值如下所示:
    "wrap" -- 将置换值折返到源图像的另一侧。
    "clamp" -- 将置换值锁定在源图像的边缘。
    "ignore" -- 如果置换值超出了范围,则忽略置换并使用源像素。
    "color" -- 如果置换值在图像外,则替换由滤镜的 alpha 属性和 color 属性组成的像素值。
    color: [可选] ― 指定对于超出范围的替代应用什么颜色。置换的有效范围是 0.0 到 1.0。如果 mode 设置为 "color",则使用此参数。
    alpha: [可选] ― 指定对于超出范围的替换应用什么 Alpha 值。它被指定为 0.0 到 1.0 之间的标准值。例如,0.25 设置透明度值为 25%。默认值是 0。如果 mode 设置为 "color",则使用此参数。

  • 相关阅读:
    EC中的QEvent
    Host是如何与EC通信的
    Python随笔之元组
    Vuex的基本使用
    运行新项目时先在项目目录下运行下面代码,安装依赖node_modules
    前端代码编辑时要注意大小写
    vue3.0的setup函数的使用
    angular写的一个导航栏
    Java数组的工具类
    eclipse格式化代码快捷键失效
  • 原文地址:https://www.cnblogs.com/tankaixiong/p/2869869.html
Copyright © 2011-2022 走看看