ActionScript编程 填充渐变颜
说明:
Graphics对象除了可以为形状填充单一颜外,还可以填充渐变颜。beginGradientFill()方法指定一种渐变填充,Flash Player可将该渐变填充用于随后调用对象的其它Graphics方法,其一般形式如下所示。
aphics.beginGradientFill(type,colors,alphas,ratios,matrix,spreadMethod,interpolationMethod,focalPointRatio);
beginGradientFill()方法可以接受以上8个参数,其详细介绍如下所示。
● type 用于指定要使用渐变类型的GradientType类的值,它包括GradientType.LINEAR(线条渐变)、GradientType.RADIAL(放射性渐变)。
● colors 在渐变中使用的RGB十六进制颜值数组,例如[0xFF0000,0x0000FF]。可以至多指定 15 种颜。
● alphas 与colors数组中对应颜的alpha值数组,有效值从0到1。如果值为小于0,则默认
值为0;如果值大于1,则默认值为1。
● ratios 颜分布比率的数组;有效值为0到255。该值定义100% 采样的颜所在位置的宽度百分比。值0表示渐变框中的左侧位置,255表示渐变框中的右侧位置。
● matrix 一个由Matrix类定义的转换矩阵。Matrix类包括createGradientBox()方法,通过该方法可以方便地设置矩阵,以便与lineGradientStyle()方法一起使用。
● 渐变颜代码大全spreadMethod 表示渐变填充的模式,可使用spread方法的SpreadMethod类的值,它包括SpreadMethod.PAD、SpreadMethod.REFLECT和SpreadMethod.REPEAT。
● interpolationMethod 表示线条渐变的模式,可使用InterpolationMethod类的值,它包括InterpolationMethod.LINEAR_RGB(使用线性RGB插值方法)、InterpolationMethod.RGB(使用RGB插值方法)。
● focalPointRatio 一个控制渐变的焦点位置的数字。值0表示焦点位于中心;值1表示焦点位于渐变圆的一条边界上;值-1表示焦点位于渐变圆的另一条边界上。小于-1或大于1的值将
舍入为-1或1。
虽然第五个参数(转换矩阵)是可选的,但通常会使用该参数,因为它提供了一种简便且有效的方法来控制渐变外观。此参数接受Matrix实例。为渐变创建Matrix对象的最简单方法是使用Matrix类的createGradientBox()方法,可以使用传递给该方法的参数来定义渐变的缩放、旋转和位置。
createGradientBox()方法可以接受以下6个参数,其详细介绍如下所示。
● 渐变框宽度 渐变扩展到的宽度(以像素为单位)。
● 渐变框高度 渐变扩展到的高度(以像素为单位)。
● 渐变框旋转 将应用于渐变的旋转角度(以弧度为单位)。
● 水平平移 将渐变水平移动的距离(以像素为单位)。
● 垂直平移 将渐变垂直移动的距离(以像素为单位)。
示例:
使用名称为myShape的Shape对象定义一个由红到黄的线性渐变填充,如下所示。
var myShape:Shape = new Shape();
aphics.beginGradientFill(GradientType.LINEAR,[0xFF0000,0xFFFF00],[1,1],[0,255]);
执行上面的代码不会产生任何效果,因为所创建的填充样式并未应用到所绘制的图形之上。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论