改变图片局部透明度,实现透明度根据位置不而渐变

最近在做项目的时候遇到了一个需求,那就是要对一张图片做处理,实现边缘模糊过渡。

苦思良久,最终用了以下的方法。

1、构成一张图片的是ARGB,我们可以直接把这整张图片的ARGB取出来,然后改变图片的A,也就是透明度。

以上我们便获得了图片的ARGB值,而我们只需要改变透明度A。

2、我们可以用

最后一句实现了只改变图片的Alpha值,(argb[i] & 0x00FFFFFF)将A全部置为0,再与((int) alpha << 24)进行或运算,那么就可以将我们的Alpha值设置进去,我们将((int) alpha)左移24位便是为了不改变RGB。

3、最后通过下面代码创建改变了透明度的bitmap

 

而我需要实现的是边缘模糊过渡,因此需要让透明度随着图片的Y坐标渐渐变为0,即过渡区域为0.我的代码如下:

 以上便实现了图片的边缘过度。

参考:https://www.cnblogs.com/Anita9002/p/4207963.html

转载请标明处处:http://77blogs.com/?p=629

发布者

大道苍莽,一笔一墨,皆重之。

发表评论