SkiaSharp
SkiaSharp copied to clipboard
[BUG] Horizontal lines disappear when zoomed in
Description
Horizontal lines disappear when zoomed in using Matrix.
Stroke width is irrelevant. Anti-aliasing helps to some extent but problem still pursue.
Code
// Matrix code
var zoom = (float)skiaRenderer.Viewport.SceneZ;
var dpi = 1.5f;
var drawMatrix = SKMatrix.CreateScale((float)zoom, -(float)zoom);
var halfScaledWidth = (float)canvas.ActualWidth * 0.5f;
var halfScaledHeight = (float)canvas.ActualHeight * 0.5f;
var actualX = -(float)skiaRenderer.Viewport.SceneX * zoom + (halfScaledWidth * dpi);
var actualY = (float)skiaRenderer.Viewport.SceneY * zoom + (halfScaledHeight * dpi);
drawMatrix.TransX = actualX;
drawMatrix.TransY = actualY;
e.Surface.Canvas.SetMatrix(drawMatrix);
// Line drawing code
_paint.Color.WithAlpha(255);
_paint.IsAntialias = true;
_paint.StrokeWidth = (float)(1.5 / _viewport.SceneZ);
_paint.StrokeCap = SKStrokeCap.Round;
_paint.IsStroke = true;
surface.Canvas.DrawLine((float)line.Object.Coor.Y, (float)line.Object.Coor.X, (float)line.Coord.Y, (float)line.Coord.X, _paint);
Expected Behavior
No response
Actual Behavior
No response
Version of SkiaSharp
2.88.3 (Current)
Last Known Good Version of SkiaSharp
Other (Please indicate in the description)
IDE / Editor
Visual Studio (Windows)
Platform / Operating System
All
Platform / Operating System Version
No response
Devices
No response
Relevant Screenshots
No response
Relevant Log Output
No response
Code of Conduct
- [X] I agree to follow this project's Code of Conduct