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

id=siteTree