Android 如何在触摸屏上消除模糊图像的方形部分
我想做什么: 在模糊图像的鼠标悬停上,它以方形显示未模糊的相同图像,如下图所示。(图像完全模糊,鼠标悬停时图像以方形显示) 我所做的: 我使用以下代码()设置模糊图像。在触摸屏上,鼠标指针转换成正方形,图像显示unblurAndroid 如何在触摸屏上消除模糊图像的方形部分,android,canvas,android-imageview,ondraw,Android,Canvas,Android Imageview,Ondraw,我想做什么: 在模糊图像的鼠标悬停上,它以方形显示未模糊的相同图像,如下图所示。(图像完全模糊,鼠标悬停时图像以方形显示) 我所做的: 我使用以下代码()设置模糊图像。在触摸屏上,鼠标指针转换成正方形,图像显示unblur 编辑: 问题: 现在图片是不模糊的,但我不能在模糊的图像上找到合适的模糊效果,而且不模糊的图像也不清晰,触控不正常 我的代码: 使用自定义视图和以下方法,我能够模糊和取消模糊图像,但仍然不能完全满足输出 @Override protected void onDraw
编辑: 问题: 现在图片是不模糊的,但我不能在模糊的图像上找到合适的模糊效果,而且不模糊的图像也不清晰,触控不正常 我的代码: 使用自定义视图和以下方法,我能够模糊和取消模糊图像,但仍然不能完全满足输出
@Override
protected void onDraw(Canvas canvas) {
canvas.drawColor(mTutorialColor);
if (mCx >= 0 && mCy >= 0) {
DisplayMetrics displayMetrics = new DisplayMetrics();
((Activity) getContext()).getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);
int height = displayMetrics.heightPixels;
int width = displayMetrics.widthPixels;
// canvas.drawCircle(mCx, mCy, RADIUS, mBackgroundPaint);
canvas.drawRect(mCx, mCy, mCx + width, mCy + 250, mBackgroundPaint);
}
}
private void init() {
setWillNotDraw(false);
setLayerType(LAYER_TYPE_HARDWARE, null);
mBackgroundPaint = new Paint();
mBackgroundPaint.setColor(getResources().getColor(android.R.color.transparent));
mBackgroundPaint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.CLEAR));
}
有没有其他方法可以做到这一点
您需要以不同的方式实施它 您需要两个图像(而不是一个):
Mode.DST_,而不是PorterDuff.Mode.CLEAR
希望这会对你有所帮助。现在还不清楚问题出在哪里…@Alexandr首先你可以看到猫的模糊图像,但模糊程度不高,所以我需要进一步模糊它,所以,没有人能识别图像,当我们触摸图像时,它只在触摸部分显示清晰的图像。@Alexandr这里的清晰图像也不是很清晰,当我们在屏幕上触摸时,触摸必须画矩形,并且限制在x轴上移动。它只会上下移动,不会左右移动。你尝试过我的解决方案吗?hii@Alexandr我正忙于其他工作。尝试过这个解决方案后,我会给你回复的,谢谢:)