设备独立绘图

问题描述

我使用 SkiaSharp 画线,如下所示,在 <Image> 上,效果很好。但是,当我在另一台具有其他分辨率的设备上进行测试时,绘图与我在第一台设备上看到的位置不同。 如何以独立于设备的方式使用 SkiaSharp 进行绘图。

        private void canvasView_PaintSurface(object sender,SkiaSharp.Views.Forms.SKPaintSurfaceEventArgs args)
        {

            SKImageInfo info = args.Info;
            SKSurface surface = args.Surface;
            SKCanvas canvas = surface.Canvas;

            canvas.Clear();

            if (isFromSearchPage)
            {
                SKPaint thickLinePaint = new SKPaint
                {
                    Style = SKPaintStyle.stroke,//.strokeAndFill,Color = SKColors.Yellow.WithAlpha(0x60),strokeWidth = 120//15                
                };


                int startingLine = GetFirstLineNo();//1;//26;
                int lineInPage = 0;

                if (CurrentLine >= startingLine)
                {
                    lineInPage = CurrentLine - startingLine + 1;
                }

                int positionY = (int)SepratorTypeHeight.PageHeader + (lineInPage * (int)SepratorTypeHeight.Lineseparator);

                thickLinePaint.strokeCap = SKstrokeCap.Square;
                canvas.DrawLine(150,positionY,1300,thickLinePaint);

                isFromSearchPage = false;
            }
        }

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)