zoukankan      html  css  js  c++  java
  • as3.0 用代码设置“调整颜色”滤镜即:亮度、对比度、饱和度、色相的调整

           相信大家对滤镜这东西,在flash IDE内应用很熟吧?但是在as内怎么用代码实现呢?这个问题还别说,起初真有点犯难,后经高手指点,逐一化解。经验不敢独享,故与大家分享(高手可掠过)。如有疑问,请多多提出咯……

    import fl.motion.ColorMatrix;

    import flash.filters.ColorMatrixFilter;

    //**调整亮度**//

    var ld_Matrix:ColorMatrix=new ColorMatrix();

    var ld_Filter:ColorMatrixFilter=new ColorMatrixFilter();

    ld_Matrix.SetBrightnessMatrix(100);  //设置亮度值,值的大小是 -255--255   0为中间值,向右为亮向左为暗。

    ld_Filter.matrix = ld_Matrix.GetFlatArray();

    ld_MC.filters = [ld_Filter];

    //ld_MC.filters = [];//去除滤镜

    //**调整对比度**//

    var db_Matrix:ColorMatrix=new ColorMatrix();

    var db_Filter:ColorMatrixFilter=new ColorMatrixFilter();

    db_Matrix.SetContrastMatrix(255);  //设置对比度值,值的大小是 -255--255  127.5为中间值,向右对比鲜明向左对比偏暗。

    db_Filter.matrix = db_Matrix.GetFlatArray();

    db_MC.filters = [db_Filter];

    //db_MC.filters = [];//去除滤镜

    //**调整饱和度**//

    var bh_Matrix:ColorMatrix=new ColorMatrix();

    var bh_Filter:ColorMatrixFilter=new ColorMatrixFilter();

    bh_Matrix.SetSaturationMatrix(0);  //设置饱和度值,值的大小是 -255--255   1为中间值,0为灰度值(即黑白相片)。

    bh_Filter.matrix = bh_Matrix.GetFlatArray();

    bh_MC.filters = [bh_Filter];

    //bh_MC.filters = [];//去除滤镜

    //**调整色相**//

    var sx_Matrix:ColorMatrix=new ColorMatrix();

    var sx_Filter:ColorMatrixFilter=new ColorMatrixFilter();

    sx_Matrix.SetHueMatrix(1);  //设置色相值,值的大小是 -255--255  0为中间值,向右向左一试便知。

    sx_Filter.matrix = sx_Matrix.GetFlatArray();

    sx_MC.filters = [sx_Filter];

    //sx_MC.filters = [];//去除滤镜

    好了,应用就是这么个方法。大胆去尝试,大胆测试。希望看后有所收获。

    另附官方帮助文档地址:

    http://help.adobe.com/zh_CN/FlashPlatform/reference/actionscript/3/fl/motion/ColorMatrix.html?filter_flash=cs5&filter_flashplayer=10.1&filter_air=2#SetBrightnessMatrix()

    http://help.adobe.com/zh_CN/FlashPlatform/reference/actionscript/3/flash/filters/ColorMatrixFilter.html

    注:转载请注明出处!!

  • 相关阅读:
    Qt全局坐标和相对坐标
    坐标系统
    qt坐标系统见解
    Qt中QGraphics类坐标映射关系详解
    对QT多线程以及事件投递的理解
    Qt中mouseMoveEvent无效
    递归、尾递归
    末日重生
    201314
    归并排序
  • 原文地址:https://www.cnblogs.com/mfryf/p/2477987.html
Copyright © 2011-2022 走看看