首页 > 解决方案 > 如何更改某个区域的图像视图的透明度?

问题描述

我正在尝试制作一个裁剪个人资料图片的页面。我有一个可以拖动的裁剪框。图像是透明的或模糊的,但在框架内,它是清晰的。框架内的区域将是您的个人资料图片。我知道如何设置 alpha,但我还没有想出在裁剪框中设置 alpha 的方法。所以这就是我想要的效果:

照片裁剪

任何帮助都会很棒。谢谢!

标签: androidimageviewalpha

解决方案


您可能应该考虑拥有两个 ImageView。一个矩形用于模糊照片,一个圆形放置在第一个顶部用于裁剪预览。

当用户选择照片时,您将创建模糊副本。似乎您已经知道如何在 ImageWiew 中移动照片,因此对 ImageView 和照片的宽度和高度进行几次计算,应该可以让您在两个 ImageView 中正确定位照片以使它们对齐.

最后,当拖动任一 ImageView 时,调整照片在两个 ImageView 中的位置。

如果您想要一种不同的方法,使用 OpenGL ES,您可以使用适用于 Android OpenGL ES 的像素着色器 Shader实现圆外的实时模糊。可能是一个更优雅的解决方案,但可能没有那么简单。

我不确定您是否想要模糊或透明,但解决方案将非常相似。


推荐阅读