Я в принципе похожее реализовывал программно.

Код AS3:
package coreDisplay
{
import flash.display.*;
import flash.geom.ColorTransform;
import flash.geom.Matrix;
import flash.geom.Rectangle;
public class Background extends MovieClip
{
private var shape:Shape
private var colorGradient:Sprite
private var correctionGradient:Sprite
private var topGradient:Sprite;
private var masking:Sprite;
public function Background()
{
init()
}
private function init() {
var matrix:Matrix = new Matrix()
matrix.createGradientBox(960,630,-(Math.PI/4),0,0)
colorGradient = new Sprite()
colorGradient.name='color'
colorGradient.graphics.beginGradientFill('linear', [0xF1F1F5, 0xF1F1F5], [0.5, 0.8], [0, 255], matrix)
colorGradient.graphics.drawRect(0, 0, 960, 630)
colorGradient.graphics.endFill()
var matrix1:Matrix = new Matrix()
matrix1.createGradientBox(550,600,0,200,100)
correctionGradient = new Sprite;
correctionGradient.graphics.beginGradientFill('radial', [0xffffff,0xffffff],[1,0.0], [0, 255],matrix1)
correctionGradient.graphics.drawCircle(480,370,500)
correctionGradient.graphics.endFill()
correctionGradient.blendMode = BlendMode.OVERLAY
topGradient = new Sprite();
var matrix2:Matrix=new Matrix()
matrix2.createGradientBox(960,173,(Math.PI/2),0,0)
topGradient.graphics.beginGradientFill('linear', [0xffffff, 0xffffff], [1, 0], [0, 255], matrix2);
topGradient.graphics.drawRect(0, 0, 960, 173)
topGradient.graphics.endFill()
this.addChild(colorGradient)
this.addChild(correctionGradient)
this.addChild(topGradient)
masking=new Sprite()
masking.graphics.beginFill(0x000000, 1)
masking.graphics.drawRoundRect(0, 0, 960, 680, 15, 15)
masking.graphics.endFill()
addChild(masking)
this.mask=masking
var obj = this.getChildAt(0)
this.swapChildren(obj, colorGradient)
this.swapChildren(obj, correctionGradient)
this.swapChildren(obj, topGradient)
}
public function changeBg(color:String) {
var colGradient:Sprite=(this.getChildByName('color') as Sprite)
for (var i = color.length; i < 6; i++ ) {
color='0'+color
}
var matrix:Matrix = new Matrix()
matrix.createGradientBox(960,630,-(Math.PI/4),0,0)
var colValue:uint = uint('0x'+color)
colGradient.graphics.clear()
colGradient.graphics.beginGradientFill('linear', [colValue, colValue], [0.5, 0.8], [0, 255], matrix)
colGradient.graphics.drawRect(0, 0, 960, 630)
colGradient.graphics.endFill()
}
}
}