DropShadowFilter在ActionScript 3中裁剪位图

时间:2013-02-27 17:28:46

标签: actionscript-3

我将DropShadowFilter应用于Adobe AIR 3.5,ActionScript 3 Mobile项目中的位图。在大多数情况下,它工作正常。然而,偶尔会在底部或右侧略微切断图像。

见这些图片:

enter image description here vs enter image description here

如您所见,应用投影时会裁剪右侧和底部。是否有一个原因?还是一种解决方法?

编辑(MST 2-27上午10:30):作为快速更新,它也会与BlurFilter一起发生,并且可能是任何其他过滤器。

2 个答案:

答案 0 :(得分:1)

我不确定你是如何生成Bitmap的,但如果你正在使用BitmapData类,请使用方便的generateFilterRect()函数,该函数将计算应用了传递过滤器的新边界。

这应该为您提供正确的尺寸,尤其是在使用扩展对象外观的BlurFilter或BevelFilter时。请看下方法描述的示例。

答案 1 :(得分:1)

Bitmap处于非整数x或y位置时,会发生这种情况。这似乎是源数据如何传递给过滤器的一个错误,我找不到一个好的解决方案来尝试不同的Bitmap的{​​{1}}和pixelSnapping属性。< / p>

您可以通过对其全局位置进行四舍五入来精确对齐图像(请参阅localToGlobalglobalToLocal,但如果它移动,可能更容易将smoothing包裹在{{1}中使用稍大的透明背景,强制过滤器在边缘周围包含一个安全边距。像这样:

Bitmap

或者,您可以将源Sprite绘制为稍大的副本以执行相同的操作。