【发布时间】:2017-06-06 14:00:31
【问题描述】:
我想做的事:
在模糊图像的鼠标悬停时,它会以正方形显示相同的图像,如下图所示。 (图像完全模糊,鼠标悬停时,图像以方形显示)
我做了什么:
我使用以下代码 (link) 使用 PorterDuff.Mode 设置模糊图像。触摸屏幕时鼠标指针变为正方形,图像显示不模糊。
编辑:
问题:
现在图片不模糊,但我无法对模糊图像找到适当的模糊效果,并且不模糊图像也不清晰,触摸无法正常工作。
我的代码:
使用自定义视图和以下方法,我可以模糊和取消模糊图像,但仍然对输出不完全满意。
@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));
}
还有其他方法可以实现吗?
【问题讨论】:
-
目前还不清楚是什么问题...
-
@Alexandr 首先你可以看到猫的模糊图像,但它不是很模糊,所以我需要更多地模糊它,所以没有人可以识别图像,当我们触摸图像时它只会显示清晰的图像在那个触摸部分。
-
@Alexandr 这里清晰的图片也不是很清晰,当我们触摸屏幕时,触摸必须是绘制矩形并且限制在 x 轴上移动。它只会上下移动而不是左右移动。
-
你试过我的解决方案了吗?
-
hii @Alexandr 我正忙于其他工作,我会在尝试此解决方案后回复您,谢谢 :)
标签: android canvas android-imageview ondraw