2012-07-26 48 views
0

我有一个问题:我想在图像上绘制一个灰色叠加层。有一个路径,我想的路径外。剪切不好,因为边缘不是反锯齿(我必须使它在2.1上工作)。ImageView上的形状叠加(“反向路径”)

我已经使它在相机上工作(右侧)。有一个FrameLayout,持有一个SurfaceView(相机预览)和一个视图。该视图在完整画布上填充叠加颜色,然后使用xfermode删除路径(Mode.CLEAR)。

使用相同的方法,我得到右边的图片。 首先,我让View成为ImageView的后代,但那完全不好。然后,我在视图下方添加了一个ImageView(如相机预览),但结果相同。然后使用其他imageview出框架布局,但相同。当然,我总是尝试将bgcolor设置为透明,绘制Color.TRANSPARENT,但它不起作用。我不知道是什么问题。也许Mode.CLEAR清除该区域的整个屏幕?为什么它使用相机surfaceview而不是和imageview(甚至另一个surfaceview)?

我一直在Google上搜索7个小时,并没有真正的解决方案。你能帮我做我做得不好的东西,并分享一些“技巧”吗?正如我之前所说的,我需要消除锯齿的边缘(几何形状有很多曲线和对角线),所以我无法裁剪(即使画笔画也不可能)。

预先感谢您。

图:http://s16.postimage.org/72bcp5kad/img_overlay.jpg

回答

0

我已经找到了解决方案。我建立一个包含完整画布的路径,然后填充EVEN_ODD。因此,请从最左侧开始 - >左侧 - >前端 - >右上 - >右侧 - >左下 - 左侧 - >最左端 - >其他聚点。和作品:-)