• 2012、10、06听课记录


                                                                          图形处理

                       第十一课    图形处理

    主要内容:

    滤镜

    矩阵变换

    BitmapData类

    练习

    作业

    精确碰撞检测

     

     

    滤镜:

    flash.filters包

    BitmapFilter类:所有图像滤镜效果的基类

    flash.filters

    public class BitmapFilter

    继承 BitmapFilter è Object

    子类 BevelFilter, BlurFilter, ColorMatrixFilter, ConvolutionFilter, DisplacementMapFilter, DropShadowFilter, GlowFilter, GradientBevelFilter, GradientGlowFilter, ShaderFilter

    滤镜—BlurFilter类(模糊滤镜)

    属性

    blurX (x轴方向模糊的像素数量 = 4)

    blurY (y轴方向模糊的像素数量 = 4)

    quality (执行模糊处理的次数0-15,默认 = 1)

    方法

    构造函数:

    BlurFilter(blurX:Number = 4.0, blurY:Number = 4.0, quality:int = 1)

    clone():BitmapFilter——返回此滤镜对象的副本

    滤镜—DropShadowFilter类(投影)

    distance (从现实对象到阴影的偏移像素数量 = 4)

    angle (光源角度 = 45度)

    color (阴影颜色 从0x000000 到 0xFFFFFF 默认=0)

    alpha (透明度,从0到1,默认 = 1)

    blurX (x轴方向模糊的像素数量 = 4)

    blurY (y轴方向模糊的像素数量 = 4)

    strength (阴影的长度,从0到255,默认 = 1)

    quality  (模糊处理次数,1—15,默认 = 1)

    inner (Boolean值,阴影是否应用于显示对象内部,默认false)

    knockout  (Boolean值,原显示对象是否透明)

    hideObject (Boolean值,是否隐藏原现实对象)  

    方法

    构造函数: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)

    clone():BitmapFilter——返回此滤镜对象的副本

    滤镜—BevelFilter类(斜角):

    属性

    distance (从显示对象到阴影的偏移像素数量 = 4)

    angle (光源角度 = 45度)

    higglightColor (高亮区影颜色 从0x000000 到 0xFFFFFF 默认=0xFFFFFF)

    highlightAlpha (高亮区透明度,从0到1,默认 = 1)

    shadowColor (高亮区影颜色 从0x000000 到 0xFFFFFF 默认=0)

    shadowAlpha (高亮区透明度,从0到1,默认 = 1)

    blurX (x轴方向模糊的像素数量 = 4)

    blurY (y轴方向模糊的像素数量 = 4)

    strength (阴影的长度,从0到255,默认 = 1)

    quality  (模糊处理次数,1—15,默认 = 1)

    type (“inner”,“outer”,“full”,默认“inner”)

    knockout  (Boolean值,原显示对象是否透明) 

    方法

    构造函数: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)

    clone():BitmapFilter——返回此滤镜对象的副本

    滤镜—GlowFilter类(发光):

    属性

    color (发光效果的颜色 从0x000000 到 0xFFFFFF 默认=0xFF0000)

    alpha (发光效果的透明度,从0到1,默认 = 1)

    blurX (x轴方向模糊的像素数量 = 4)

    blurY (y轴方向模糊的像素数量 = 4)

    strength (发光效果延伸的长度,从0到255,默认 = 2)

    quality  (模糊处理次数,1—15,默认 = 1)

    inner (Boolean值,发光效果是否应用于显示对象内部,默认false)

    knockout  (Boolean值,原显示对象是否透明) 

    方法

    构造函数: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)

    clone():BitmapFilter——返回此滤镜对象的副本

    矩阵变形

    flash.geom包 (geom几何)

    Matrix 类

    Point 类

    Rectangle  类

    Transform 类

    ColorTransform 类

    矩阵变形——Matrix

    属性

    a :缩放或旋转图像时影响像素沿 x 轴定位的值

    b :旋转或倾斜图像时影响像素沿 y 轴定位的值

    c :旋转或倾斜图像时影响像素沿 x 轴定位的值

    d :缩放或旋转图像时影响像素沿 y 轴定位的值

    tx :沿 x 轴平移每个点的距离

    ty :沿 y 轴平移每个点的距离

    方法:

    构造函数 Matrix(a:Number = 1, b:Number = 0, c:Number = 0, d:Number = 1, tx:Number = 0, ty:Number = 0)

    clone():Matrix  

    rotate(angle:Number):void 对 Matrix 对象应用旋转转换。

    scale(sx:Number, sy:Number):void 对矩阵应用缩放转换。

    translate(dx:Number, dy:Number):void  沿 x 和 y 轴平移矩阵, 由 dx 和 dy 参数指定

    Point

    属性

    length:Number 从 (0,0) 到此点的线段长度

    x:Number

    y:Number

    构造函数 Point(x:Number = 0, y:Number = 0)

    方法:

    distance(pt1:Point, pt2:Point):Number

    offset(dx:Number, dy:Number):void

    Rectangle

    属性

    x

    y

    width

    height

    构造函数: Rectangle(x:Number = 0, y:Number = 0, Number = 0, height:Number = 0)

    方法

    containsPoint(point:Point):Boolean

    containsRect(rect:Rectangle):Boolean

    Transform

    属性

    colorTransform:ColorTransform

    matrix:Matrix

    无构造函数

     

     

    ColorTransform

    属性

    redMultiplier / redOffset

    greenMultiplier / greenOffset

    blueMultiplier / blueOffset

    alphaMultiplier / alphaOffset -255 到 255 之间的数字

    新红色值 = (旧红色值 * redMultiplier) + redOffset

    新绿色值 = (旧绿色值 * greenMultiplier) + greenOffset

    新蓝色值 = (旧蓝色值 * blueMultiplier) + blueOffset

    新 Alpha 值 = (旧 Alpha 值 * alphaMultiplier) + alphaOffset

    color;

    ColorTransform构造函数

    ColorTransform(redMultiplier:Number = 1.0, greenMultiplier:Number = 1.0, blueMultiplier:Number = 1.0, alphaMultiplier:Number = 1.0, redOffset:Number = 0, greenOffset:Number = 0, blueOffset:Number = 0, alphaOffset:Number = 0)

    参数

    redMultiplier:Number (default = 1.0) — 红色乘数的值,在 0à 1

    greenMultiplier:Number (default = 1.0) — 绿色乘数的值,在 0 à1

    blueMultiplier:Number (default = 1.0) — 蓝色乘数的值,在 0à1

    alphaMultiplier:Number (default = 1.0) — Alpha 透明度乘数值,在 0 à1

    redOffset:Number (default = 0) — 红色通道值偏移量,-255 到 255

    greenOffset:Number (default = 0) — 绿色通道值偏移量,-255 到 255

    blueOffset:Number (default = 0) — 蓝色通道值偏移量,-255 到 255

    alphaOffset:Number (default = 0) — Alpha 透明度通道值偏移量,-255à 255

    BitmapData

    Bitmap

    属性:

    int,

    height:int;

    transparent:Boolean

    fillColor:uint

    构造函数:BitmapData(int, height:int, transparent:Boolean = false, fillColor:uint = 0xFFFFFFFF)

    BitmapData——方法

    applyFilter(sourceBitmapData:BitmapData, sourceRect:Rectangle, destPoint:Point, filter:BitmapFilter):void

    draw(source:IBitmapDrawable, matrix:Matrix = null, colorTransform:ColorTransform = null, blendMode:String = null, clipRect:Rectangle = null, smoothing:Boolean = false):void

    getPixel(x:int, y:int):uint  0xFFFFFF

    getPixel32(x:int, y:int):uint  0xFFFFFFFF

    setPixel(x:int, y:int, color:uint):void  0xFFFFFF

    setPixel32 () 0xFFFFFFFF

    hitTest(firstPoint:Point, firstAlphaThreshold:uint, secondObject:Object, secondBitmapDataPoint:Point = null, secondAlphaThreshold:uint = 1):Boolean

    Draw方法的属性

    source:IBitmapDrawable  

    matrix:Matrix = null,

    colorTransform:ColorTransform = null,

    blendMode:String = null,

    clipRect:Rectangle = null,

    smoothing:Boolean = false

    精确碰撞检测 

    基于BitmapData 之 hitTest 方法的碰撞检测

    参数说明:

    firstPoint:Point BitmapData 图像的左上角的位置

    firstAlphaThreshold:uint最小的 Alpha 通道值

    secondObject:Object  一个 Rectangle、Point、Bitmap 或 BitmapData 对象

    secondBitmapDataPoint:Point = null,定义第二个 BitmapData 对象中的一个像素位置

    secondAlphaThreshold:uint = 1第二个 BitmapData 对象中最小的 Alpha 通道值

  • 相关阅读:
    TYVJ1061 Mobile Service
    TYVJ1061 Mobile Service
    KMP 模板
    poj 3254 Corn Field
    poj 3254 Corn Field
    洛谷1279 字串距离
    poj 1041 John's trip——欧拉回路字典序输出
    bzoj 3033 太鼓达人——欧拉图搜索
    bzoj 2503 相框——思路
    bzoj 2935 [Poi1999]原始生物——欧拉回路思路!
  • 原文地址:https://www.cnblogs.com/klh5211314/p/2754239.html
Copyright © 2020-2023  润新知