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

From Yggenyk
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>

Typography Line Terms.png

Clipping with Paths and Regions

WPF