[dismiss]
På yggenyk.dk bruger vi cookies til at give dig en god oplevelse og til at indsamle statistik, der kan være med til at forbedre brugeroplevelsen. Hvis du klikker på et link på yggenyk.dk, accepterer du samtidig vores cookiepolitik.
SkiaSharp: Difference between revisions
Jump to navigation
Jump to search
(Created page with "{{Xamarin}} ==SkiaSharp== ====Fiddles==== * [https://fiddle.skia.org/ Skia Fiddle] * [https://fiddle.skia.org/named/ Named Fiddles] ====Disposable Transform==== <syntaxhighli...") |
No edit summary |
||
Line 45: | Line 45: | ||
* [https://gist.github.com/xoofx/a9d08a37c43f692e65df80a1888c488b Resize an image and draw some overlay text with SkiaSharp] | * [https://gist.github.com/xoofx/a9d08a37c43f692e65df80a1888c488b Resize an image and draw some overlay text with SkiaSharp] | ||
====Clipping with Paths and Regions==== | |||
* [https://docs.microsoft.com/en-us/xamarin/xamarin-forms/user-interface/graphics/skiasharp/curves/clipping Clipping with Paths and Regions] | |||
====WPF==== | ====WPF==== | ||
* [https://github.com/impsnldavid/skiasharpwpfextensions skiasharpwpfextensions] | * [https://github.com/impsnldavid/skiasharpwpfextensions skiasharpwpfextensions] |
Latest revision as of 06:11, 25 March 2018
SkiaSharp
Fiddles
Disposable Transform
<syntaxhighlight lang="C#" line='line'>
using (new Transform(canvas)) {
}
public class Transform : IDisposable { private readonly SKCanvas _canvas;
public Transform(SKCanvas canvas) { _canvas = canvas; canvas.Save(); }
public void Dispose() { _canvas.Restore(); } }
</syntaxhighlight >
Transform point from current transformation matrix to original grid
<source lang="cpp">
// Transform point from current transformation matrix to original grid var originalPoints = new[] { new SKPoint(0, 0) }; var pointInCurrentTransformationMatrix = new[] { new SKPoint(0, 0) }; canvas.TotalMatrix.MapPoints(originalPoints, pointInCurrentTransformationMatrix);
// Transform point from original grid to current transformation matrix canvas.TotalMatrix.TryInvert(out var inverseMatrix); var snappedPixelPointsInCurrentTransformationMatrix = new[] { new SKPoint(0, 0) }; inverseMatrix.MapPoints(snappedPixelPointsInCurrentTransformationMatrix, originalPoints);
</source>