Xamarin Android:如何在画布上绘制
我正在为Xamarin Android:如何在画布上绘制,android,xamarin,canvas,Android,Xamarin,Canvas,我正在为Xamarin.Forms编写一个自定义渲染器。我正在重写类ImageRenderer,对图像进行一些调整 但是,我想用圆圈覆盖图像的某些部分,因此我重写了方法void OnDraw(Canvas Canvas) 然后,我通过绘制一些圆圈来稍微修改画布: protected override void OnDraw(Canvas canvas) { var paint = new Paint { Color = Color.Red }; p
Xamarin.Forms
编写一个自定义渲染器。我正在重写类ImageRenderer
,对图像进行一些调整
但是,我想用圆圈覆盖图像的某些部分,因此我重写了方法void OnDraw(Canvas Canvas)
然后,我通过绘制一些圆圈来稍微修改画布
:
protected override void OnDraw(Canvas canvas)
{
var paint = new Paint
{
Color = Color.Red
};
paint.SetStyle(Paint.Style.Fill);
foreach (var mapObject in _control.PointSource)
{
canvas.DrawCircle(mapObject.Location.X, mapObject.Location.Y, 100 / _scaleFactor, paint);
}
base.OnDraw(canvas);
}
然而,一切都是在背景上绘制的。实际图像始终位于顶部。如何在图像上画圆圈
在文件中,他们说:
将在其上绘制背景的画布
因此,当前的行为是预期的。我通过将循环逻辑移动到函数:
voiddraw(Canvas)
来修复它