Android模糊位图部分(fingure touch部分)/在触摸时使位图的特定区域模糊
在我的一个应用程序中,我需要使位图的部分模糊 我需要允许用户移动图形,并使位图的这一部分模糊 如何应用这个?? 如果可能的话?如果是,那怎么办 我参观过,但没有收获 我该怎么做?可能吗 我已经这样做了:Android模糊位图部分(fingure touch部分)/在触摸时使位图的特定区域模糊,android,bitmap,blur,Android,Bitmap,Blur,在我的一个应用程序中,我需要使位图的部分模糊 我需要允许用户移动图形,并使位图的这一部分模糊 如何应用这个?? 如果可能的话?如果是,那怎么办 我参观过,但没有收获 我该怎么做?可能吗 我已经这样做了: mPaint.setAlpha(10); // mPaint.setStyle(Style.FILL); //mPaint.setXfermode(new PorterDuffXfermode(Mode.CLEAR)); m
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);
及
这里的想法没有那么复杂。 静态创建图像的模糊版本(可能是Renderscript?) 然后在画布上绘制原始图像。 此时,当用户触摸您在触摸区域中绘制的画布时,模糊位图的一部分。
要实现这一点,您可能需要尝试一些PorterDuff蒙版,以使其看起来更漂亮(例如使用alpha蒙版绘制模糊部分,以便更好地将其与原始图像混合).porter duff:模糊谢谢你的帮助,但我想要触摸平滑模糊我的意思是用户触摸位图的那部分应该模糊,只有其他部分保持不变。我理解。请仔细阅读完整的回复。要做到这一点,你需要做一些工作。。。
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();
}