Android毛玻璃 毛不毛不知道 但是真皮

xiaoxiao2025-04-15  16

1.关于 CV这种事,强调了很多遍,关键字,现在一步一步捋下过程,

一.拿到需求  毛玻璃效果

神马 都不要看,直接去github 官网,看看代码冗余么,好接入么,多的话直接pass,看关键字blur

二.github

 

开始核对需求效果,然后再看能不能接入,同样看冗余,

3.github依赖炸了

然而他的star很多,依赖不能用,那是不可能的,有很大的几率是最新版本有问题不兼容,可以找历史版本或者直接项目名百度,看看有木有人使用过这个库,看看别人走过 的 坑!

最后

https://github.com/mmin18/RealtimeBlurView  这个性能高 星多

https://github.com/nbwzlyd/realTimeBlurView2  星少 可能兼容性更高  效果差不多 

第一个版本不行

compile 'com.github.mmin18:realtimeblurview:1.0.3' public class CustomShapeBlurView extends RealtimeBlurView { Paint mPaint; RectF mRectF; public CustomShapeBlurView(Context context, AttributeSet attrs) { super(context, attrs); mPaint = new Paint(); mRectF = new RectF(); } /** * Custom oval shape */ @Override protected void drawBlurredBitmap(Canvas canvas, Bitmap blurredBitmap, int overlayColor) { if (blurredBitmap != null) { int width = getWidth(); int height = getHeight(); mRectF.right = width; mRectF.bottom = height; mPaint.reset(); mPaint.setAntiAlias(true); BitmapShader shader = new BitmapShader(blurredBitmap, Shader.TileMode.CLAMP, Shader.TileMode.CLAMP); Matrix matrix = new Matrix(); matrix.postScale(mRectF.width() / blurredBitmap.getWidth(), mRectF.height() / blurredBitmap.getHeight()); shader.setLocalMatrix(matrix); mPaint.setShader(shader); canvas.drawOval(mRectF, mPaint); mPaint.reset(); mPaint.setAntiAlias(true); mPaint.setColor(overlayColor); RectF rectF = new RectF(0, 0, width, height); canvas.drawRoundRect(rectF, 30, 30, mPaint); } } }

 

转载请注明原文地址: https://www.6miu.com/read-5028295.html

最新回复(0)