If I use a png ([Embed(source = “…/lib/img.png”)]) this works.
But if I use a jpg the code below fails.
Same image same size (200,200) just exported from photoshop as jpg or png
Why?
Error when using jpg
Error: Error #2077: This filter operation cannot be performed with the specified input parameters.
at flash.display::BitmapData/applyFilter()
package
{
import flash.display.Bitmap;
import flash.display.BitmapData;
import flash.display.Sprite;
import flash.events.Event;
import flash.filters.GlowFilter;
import flash.geom.Point;
public class Main extends Sprite
{
[Embed(source = "../lib/img.jpg")]
public var mainImage:Class;
public function Main():void
{
if (stage) init();
else addEventListener(Event.ADDED_TO_STAGE, init);
}
private function init(e:Event = null):void
{
removeEventListener(Event.ADDED_TO_STAGE, init);
// entry point
var bm:Bitmap = new mainImage()
var bmd : BitmapData = bm.bitmapData
bmd.draw(bm);
bmd.applyFilter(bmd, bmd.rect, new Point(0, 0), new GlowFilter(0xFF0000, 10, 10, 10, 2, 1, true));
addChild(bm);
}
}
}