var s:Sprite = new Sprite();
var tFormat:TextFormat = new TextFormat(null, 124);
var dropShadow:DropShadowFilter = new DropShadowFilter(4, 90, 0x4e1321, 1, 8, 8, 4);
var dropShadowTField:TextField = new TextField();
dropShadowTField.defaultTextFormat = tFormat;
dropShadowTField.textColor = 0xffffff;
dropShadowTField.text = "TEST";
dropShadowTField.width = 300;
dropShadowTField.height = 200;
s.addChild(dropShadowTField);
dropShadowTField.filters = [dropShadow];
var tField:TextField = new TextField();
tField.defaultTextFormat = tFormat;
tField.textColor = 0xffffff;
tField.text = "TEST";
tField.width = 300;
tField.height = 200;
s.addChild(tField);
var gradient:Shape = new Shape();
var colors:Array<UInt> = [0xffffff, 0xfcffab, 0xffdb91];
var alphas:Array<Float> = [1.0, 1.0,1.0];
var ratios:Array<Int> = [0x33, 0x99, 0xcc];
var mat:Matrix = new Matrix();
mat.createGradientBox(300, 200, -Math.PI / 2, 0, 0);
gradient.graphics.beginGradientFill("linear", colors, alphas, ratios, mat);
gradient.graphics.drawRect(0, 0, 300, 200);
gradient.graphics.endFill();
s.addChild(gradient);
gradient.cacheAsBitmap = true;
tField.cacheAsBitmap = true;
gradient.mask = tField;
addChild(s);
var bd:BitmapData = new BitmapData(Math.ceil(tField.width), Math.ceil(tField.height), true, 0);
bd.draw(s);
var b:Bitmap = new Bitmap(bd);
b.x = s.width;
addChild(b);
HTML5 (WebGL):
Flash (Works as expected):