如何解决设备独立绘图
我使用 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 举报,一经查实,本站将立刻删除。