use SWF::Constants qw(:Gradient);
$g = new SWF::Gradient();
# ..make some kind of rainbow..
$sh = new SWF::Shape();
$fill = $sh->addGradientFill($g,SWFFILL_LINEAR_GRADIENT);
DESCRIPTIONSWF::Gradient is a helper class most useful for filling shapes (i.e. SWF::Shape objects), and also for filtering via SWF::DisplayItem methods using GradientGlowFilter or GradientBevelFilter, both are SWF::Filter objects.
- new SWF::Gradient()
- Creates and returns a gradient object. This object is an 'empty' gradient, to be filled with control point entries via up to 15 addEntry() method calls. (For SWF version 7 are only 8 control points possible.) For gradients used for filters also only 8 control points are possible.
- addEntry($ratio, $r, $g, $b [, $a])
- Adds a gradient control point. The ratio parameter is a floating point value for controlling the position of the following RGBA-color value (consiting of red, green, blue and optional alpha parts) in an increasing row between 0.0 and 1.0 . Adding more than 15 entries will be useless and ignored.
- For version >= 8 only: set a gradient spread mode: one of SWF_GRADIENT_PAD (default), SWF_GRADIENT_REPEAT, SWF_GRADIENT_REFLECT .
- For version >= 8 only: set a gradient interpolation mode: one of SWF_GRADIENT_NORMAL (default), SWF_GRADIENT_LINEAR .
Makes a focal gradient 'asymetric'. A focalpoint value of -1.0 means the focal point
is close to the left border, 0.0 is in the center and 1.0 is close to the right border.
Also this feature is available for version >= 8 only.
For best results use the SWFFILL_FOCAL_GRADIENT flag when adding to v4 shapes, i.e. like
$g = new SWF::Gradient(); $g->setFocalPoint(-0.9); $g->addEntry(0.000000,0xff,0x00,0x00,0xff); $g->addEntry(1.000000,0x00,0xff,0x00,0xff); $shape->useVersion(4); $shape->addGradientFill($g,SWFFILL_FOCAL_GRADIENT);
developers of ming.sourceforge.net