问题描述:
由于种种需求,需要完成如下图的图像边缘效果。
话不多说,完成这种效果我们有以下几种方法:
Way 1:
FMX有几十种Effect,其中有一种TBlurEffect可以直接实现这种边缘模糊的效果。
使用起来如:bitmap->addObject(TBlurEffect x),或者添加到图片外的Layout里,还可以在Design界面直接拖进控件中,它就可以帮你模糊掉你所处的Layout,反正使用是非常方便的。如果说你需要让图片模糊效果一直存在,并且不需要存放模糊后的Bitmap的话,这种方法是首选(当然你得把图片贴到上面去,才有这种效果,不然整个都模糊了)。
为什么要加这么多前提呢?因为,这个控件它并不会主动释放内存!比如说我要做个鼠标移动上去显示模糊,离开图片后,模糊消失的效果,那么就需要使用Visible,Enable,Free,delete,dispose这些方法让Blur失效。然而FMX,并不会帮我们释放掉这个内存,所以切换次数增加后,内存越来越大,图片越大