Java 在位图上画一个与位图下颜色相同的圆圈
我有一张Java 在位图上画一个与位图下颜色相同的圆圈,java,android,drawing,android-canvas,Java,Android,Drawing,Android Canvas,我有一张图像,我可以在上面画一个圆圈,如下所示: Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.girl).copy(Bitmap.Config.ARGB_8888, true); Canvas canvas = new Canvas(bitmap); Paint paint = new Paint(); paint.setColor(Color.RED); paint.se
图像
,我可以在上面画一个圆圈
,如下所示:
Bitmap bitmap = BitmapFactory.decodeResource(getResources(),
R.drawable.girl).copy(Bitmap.Config.ARGB_8888, true);
Canvas canvas = new Canvas(bitmap);
Paint paint = new Paint();
paint.setColor(Color.RED);
paint.setStrokeWidth(200);
paint.setStyle(Style.STROKE.FILL);
paint.setAntiAlias(true);
canvas.drawCircle(bitmap.getWidth() / 2, bitmap.getHeight() / 2, 100,
paint);
而圆圈
将为红色!但由于某些原因,我希望圆圈的颜色与位图下的颜色相同。我能做吗?怎么做?谢谢大家
编辑:还有一个问题,我如何才能获得圆圈内的所有像素?为什么不干脆删除画图.setStyle(Style.STROKE.FILL)
或尝试更改paint.setColor(Color.RED)
为透明颜色,应该是您可以通过此方法获得指定的像素的颜色
,然后制作RGB颜色
,然后设置此颜色,而不是您提到的颜色。红色
实际上,我想对将要绘制的圆圈使用一些效果!例如模糊圆圈
…尝试使用paint.setStyle(paint.Style.STROKE)
不要选择你自己的风格,而是看看它是否适合你——没用!如果我尝试使用paint.setColor(Color.TRANSPARENT)
,当我对圆使用blur
时没有效果,但是如何获得圆内的所有像素?