失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 图片边缘增加光晕效果

图片边缘增加光晕效果

时间:2022-04-09 07:19:59

相关推荐

图片边缘增加光晕效果

效果展示:

原图 效果图:

原理: 使用某种颜色替换图像非透明部分,然后与原图合成最终效果。

步骤:

1. 底色替换 , 得到如下结果:

2.与原图合成,得到最终效果

处理代码:

/**** @param map image* @param haloWidthPx halo width, unit in pixel* @param haloColor halo color* @return source image if haloWidth is zero*/public static Bitmap addHaloForImage(Bitmap map , int haloWidthPx ,int haloColor){if(isValidBitmap(map)){if(haloWidthPx < 0){haloWidthPx = 20;}if(haloWidthPx != 0){// method onePaint p = new Paint();p.setColor(haloColor);p.setAntiAlias(true);p.setFilterBitmap(true);MaskFilter bmf = new BlurMaskFilter(haloWidthPx, BlurMaskFilter.Blur.SOLID);p.setMaskFilter(bmf);Bitmap d = Bitmap.createBitmap(map.getWidth()+haloWidthPx * 2,map.getHeight()+haloWidthPx*2, Bitmap.Config.ARGB_8888);Canvas c = new Canvas(d);c.drawBitmap(map.extractAlpha(),haloWidthPx,haloWidthPx,p);p.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC_ATOP));c.drawBitmap(map,haloWidthPx,haloWidthPx,p);map.recycle();System.gc();// endreturn d;}}return map;}

修改PorterDuff Mode 可以得到不同的效果,下面给出效果图:

LIGHTEN: DARKEN:

缺点: 对非透明图片处理效果很差。处理效率很慢 40 ~ 70 ms 。

如果觉得《图片边缘增加光晕效果》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。