问题描述
我使用 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 (将#修改为@)