Android模糊位图部分(手指触摸部分)/触摸时使位图的某些区域模糊

时间:2014-08-11 07:03:14

标签: android bitmap blur

在我的一个应用程序中,我需要使位图的部分模糊...

我需要允许用户计算移动并使位图模糊部分。

如何申请? 如果有可能?如果是,那么如何????

我访问了This site,但没有获得丰硕的成果

我该怎么做?有可能吗?

我做到了:

mPaint.setAlpha(10);
            // mPaint.setStyle(Style.FILL);
            //mPaint.setXfermode(new PorterDuffXfermode(Mode.CLEAR));
            mPaint.setMaskFilter(new BlurMaskFilter(30, BlurMaskFilter.Blur.INNER));
             paint.setStyle(Style.STROKE);
            mPaint.setAntiAlias(true);

            mPaint.setAntiAlias(true);
            mPath = new Path();
            mPath.offset(30, 30);

            paths.add(new PathPoints(mPath, color, false, strokWidth));
            mCanvas = new Canvas();
            c2 = new Canvas();

            // this.setDrawingCacheEnabled(true);
            c2.setBitmap(Transparent);

protected void onDraw(Canvas canvas1) {
            canvas = canvas1;

            // === canvas.drawBitmap(mBitmap, 0, 0, mBitmapPaint);

            canvas.drawBitmap(Transparent, 0, 0, mBitmapPaint);
            c2.drawBitmap(Bitmap2, 0, 0, mBitmapPaint);
            // canvas.drawBitmap(Transparent, 0, 0, mBitmapPaint);
            // canvas.drawBitmap(Transparent, 0, 0, null);
            // c2.drawBitmap(mBitmap, 0, 0, mBitmapPaint);
            for (PathPoints p : paths) {

                //mPaint.setColor(p.getColor());
                mPaint.setStrokeWidth(p.getStrokWidth());
                Log.v("", "Color code : " + p.getColor());
                if (p.isTextToDraw()) {
                    canvas.drawText(p.textToDraw, p.x, p.y, mPaint);
                } else {
                    // if(isTouched)
                    // {
                    // canvas.drawPath(p.getPath(), mPaint);
                    c2.drawPath(p.getPath(), mPaint);


                }

            }
            //
            // invalidate();

        }

1 个答案:

答案 0 :(得分:1)

这里的想法并不复杂。 您静态创建图像的模糊版本(Renderscript可能吗?) 然后在画布上绘制原始图像。 此时,当用户触摸画布时,您在触摸区域中绘制模糊位图的一部分。 为了达到这个目的,你可能想尝试一些PorterDuff蒙版,以使它看起来很漂亮(就像有一个alpha蒙版来绘制模糊部分,以便更好地与原始图像混合)。