Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xamarin Android:如何在画布上绘制_Android_Xamarin_Canvas - Fatal编程技术网

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)
来修复它