当Bitmap
位于非整数x或y位置时,会发生这种情况。这似乎是源数据如何传递给过滤器的一个错误,我无法找到一个很好的解决方案,尝试使用不同的Bitmap
的pixelSnapping
和smoothing
属性。
你可以继续按四舍五入其全球位置正好对准图像(见localToGlobal
和globalToLocal
,但如果它的动作可能更容易包裹Bitmap
与一个稍大的透明背景Sprite
,强制过滤器包括周围边缘的安全余量事情是这样的:
private var b:Bitmap = new EmbeddedClass();
private var container:Sprite = new Sprite();
container.addChild(b);
container.graphics.beginFill(0xFF00FF, 0);
container.graphics.drawRect(-2, -2, container.width + 4, container.height + 4);
container.graphics.endFill();
container.filters = [new DropShadowFilter()];
或者,你可以借鉴源BitmapData
到稍大副本做同样的事情
太棒了。正是我希望看到的。那么...不完全。这很糟糕,我不得不去解决该死的SDK,但至少它是可以修复的。只有不好的部分是我在这个项目中有数百个图像。我想,我必须制作一个自动执行此操作的自定义Bitmap类。 Damnit,Flash。感谢你的回答。 – 2013-02-28 00:09:23