SkiaSharp is a cross-platform 2D graphics API for .NET platforms based on Google's Skia Graphics Library. It provides a comprehensive 2D API that can be used across mobile, server and desktop models to render images.
MIT License
Bot releases are visible (Hide)
Published by mattleibow almost 5 years ago
A cross-platform 2D graphics API for .NET platforms based on Google's Skia Graphics Library. It provides a comprehensive 2D API that can be used across mobile, server and desktop models to render images.
This version adds several new members and types, but the core focus was on resolving some larger memory-related issues. This release hopes to fix several cases where incorrect memory usage resulted in a crash or undefined behavior.
SkiaSharp.NativeAssets.Linux.NoDependencies
Span<T>
in addition to the existing byte[]
or IntPtr
SKDrawable
and related operations [@charlenni]
SKColorSpace
and related types and members)SKDocument
would be destroyed before the document is closedSKRegion
[@vexx32x]
SKPaint
and SKMatrix
[@MarchingCube]
SKRunBuffer
, SKHorizontalRunBuffer
and SKPositionedRunBuffer
to greatly enhance the usefulness of SKTextBlob
and SKTextBlobBuilder
SKShader
from a SKPicture
[@alexandrvslv]
SKSwapChainPanel
on UWPNuGet | Code Diff | Project | Milestone | Changelog | CI | Release CI
A set of pre-prepared UI views, panels and surfaces for drawing. One of these views can be added to the view hierarchy, and then be used for drawing without the need for complex setup. There is also a set of extension methods for converting to/from SkiaSharp and native types.
SkiaSharp.Views.Gtk2
for GTK# 2SkiaSharp.Views.Gtk3
for GTK# 3SkiaSharp.Views.WPF
for WPF (both .NET Framework and .NET Core)
SkiaSharp.Views.WindowsForms
for System.Windows.Forms (both .NET Framework and .NET Core)
SkiaSharp.Views.Desktop.Common
(base package for SkiaSharp.Views.WPF
and SkiaSharp.Views.WindowsForms
)
SKDrawingArea
System.Drawing.Bitmap
to SKPixmap
[@Odirb]
A set of pre-prepared views for Xamarin.Forms, for fully cross-platform drawing code. There are views for both CPU and GPU backends, along with extension methods for converting to/from SkiaSharp and Xamarin.Forms types. Currently available for iOS, Android, UWP, macOS (preview) and Tizen (preview).
SkiaSharp.Views.Forms.WPF
NuGetSKCanvasView
and SKGLView
[@charlenni]
A library for text shaping, which is the process of converting Unicode text to glyph indices and positions.
Span<T>
in addition to the existing byte[]
or IntPtr
[@Gillibald]
Support for text shaping using the HarfBuzz text shaping library. This package adds the SKShaper
type that can shape a string, returning the codepoints and their positions.
This package also adds some extension methods to SKCanvas
to make drawing shaped text easier. These methods include DrawShapedText
and it's overloads.
Because we love everyone in the Linux world just as well as the Microsoft and the Xamarin worlds, we have also included some pre-built Linux native binaries in a new, separate package (see #312):
SkiaSharp.NativeAssets.Linux
HarfBuzzSharp.NativeAssets.Linux
If you happen to be on an environment that does not have the ability to install any of the required dependencies, such as FontConfig, you can also try out the build that does not have any dependencies other that the core system libraries:
SkiaSharp.NativeAssets.Linux.NoDependencies
At the current time, it just contains a Ubuntu 16.04 amd64 build that should work on most Debian-based Linux distributions. More builds can be requested by leaving a comment on #453.
If a specific platform is required, you can easily build your own binaries by following this guide.
There are a large set of samples that show many different features of SkiaSharp. They are broken up into two main groups:
All the samples that have been built and tested for this version of SkiaSharp can be downloaded in the "Assets" links.
Published by mattleibow almost 5 years ago
Release notes: https://github.com/mono/SkiaSharp/releases/tag/v1.68.1
Published by mattleibow almost 5 years ago
Release notes: https://github.com/mono/SkiaSharp/releases/tag/v1.68.1
Published by mattleibow almost 5 years ago
Release notes: https://github.com/mono/SkiaSharp/releases/tag/v1.68.1
Published by mattleibow almost 5 years ago
Release notes: https://github.com/mono/SkiaSharp/releases/tag/v1.68.1
Published by mattleibow almost 5 years ago
Release notes: https://github.com/mono/SkiaSharp/releases/tag/v1.68.1
Published by mattleibow about 5 years ago
Release notes: https://github.com/mono/SkiaSharp/releases/tag/v1.68.1
Published by mattleibow almost 6 years ago
A cross-platform 2D graphics API for .NET platforms based on Google's Skia Graphics Library. It provides a comprehensive 2D API that can be used across mobile, server and desktop models to render images.
GRBackendRenderTargetDesc
and GRBackendTextureDesc
are now deprecated and replaced with GRBackendRenderTarget
and GRBackendTexture
Index8
) is no longer supported and has been removedSKColorTable
) are no longer supportedSkiaSharp.NativeAssets.Linux
(see #312)SKFontManager
) is more powerful and can load font family sets (SKFontStyleSet
) and match more charactersSKImage
) can now be decoded and created more easilySKDocumentPdfMetadata
SkPaint
: BreakText
, GetGlyphs
, CountGlyphs
, ContainsGlyphs
, GetGlyphWidths
, GetTextIntercepts
, GetPositionedTextIntercepts
, GetHorizontalTextIntercepts
SKTextBlob
and SKTextBlobBuilder
as a first step to improving text supportSKTypeface
: GetGlyphs
and CountGlyphs
SKSurfaceProps
struct has been superseded by the SKSurfaceProperties
classSKPixmap
, SKImage
and SkBitmap
can now resize their pixel data with ScalePixels
NuGet | Code Diff | Project | Milestone | Changelog | CI
A set of pre-prepared UI views, panels and surfaces for drawing. One of these views can be added to the view hierarchy, and then be used for drawing without the need for complex setup. There is also a set of extension methods for converting to/from SkiaSharp and native types.
OnPaintSurface
method when overriding the drawing methodSKPaintGLSurfaceEventArgs
) now suggest using the new GPU typesA set of pre-prepared views for Xamarin.Forms, for fully cross-platform drawing code. There are views for both CPU and GPU backends, along with extension methods for converting to/from SkiaSharp and Xamarin.Forms types. Currently available for iOS, Android, UWP, macOS (preview) and Tizen (preview).
SKPaintGLSurfaceEventArgs
) now suggest using the new GPU typesSKGLView
is now a transparent viewHarfBuzz is a text shaping engine, and HarfBuzzSharp exposes some of the functionality to managed .NET applications.
Support for text shaping using the HarfBuzz text shaping library. This package adds the SKShaper
type that can shape a string, returning the codepoints and their positions.
This package also adds some extension methods to SKCanvas
to make drawing shaped text easier. These methods include DrawShapedText
and it's overloads.
Because we love everyone in the Linux world just as well as the Microsoft and the Xamarin worlds, we have also included some pre-built Linux native binaries in a new, separate package (see #312):
SkiaSharp.NativeAssets.Linux
At the current time, it just contains a Ubuntu 16.04 amd64 build that should work on most Debian-based Linux distributions. More builds can be requested by leaving a comment on #453.
If a specific platform is required, you can easily build your own binaries by following this guide.
There are a large set of samples that show many different features of SkiaSharp. They are broken up into two main groups:
All the samples that have been built and tested for this version of SkiaSharp can be downloaded in the "Assets" links.
Published by mattleibow almost 6 years ago
A cross-platform 2D graphics API for .NET platforms based on Google's Skia Graphics Library. It provides a comprehensive 2D API that can be used across mobile, server and desktop models to render images.
GRBackendRenderTargetDesc
and GRBackendTextureDesc
are now deprecated and replaced with GRBackendRenderTarget
and GRBackendTexture
Index8
) is no longer supported and has been removedSKColorTable
) are no longer supportedSKFontManager
) is more powerful and can load font family sets (SKFontStyleSet
) and match more charactersSKImage
) can now be decoded and created more easilySkiaSharp.NativeAssets.Linux
(see #312)NuGet | Code Diff | Project | Milestone | Changelog | CI
A set of pre-prepared UI views, panels and surfaces for drawing. One of these views can be added to the view hierarchy, and then be used for drawing without the need for complex setup. There is also a set of extension methods for converting to/from SkiaSharp and native types.
OnPaintSurface
method when overriding the drawing methodSKPaintGLSurfaceEventArgs
) now suggest using the new GPU typesA set of pre-prepared views for Xamarin.Forms, for fully cross-platform drawing code. There are views for both CPU and GPU backends, along with extension methods for converting to/from SkiaSharp and Xamarin.Forms types. Currently available for iOS, Android, UWP, macOS (preview) and Tizen (preview).
SKPaintGLSurfaceEventArgs
) now suggest using the new GPU typesHarfBuzz is a text shaping engine, and HarfBuzzSharp exposes some of the functionality to managed .NET applications.
Support for text shaping using the HarfBuzz text shaping library. This package adds the SKShaper
type that can shape a string, returning the codepoints and their positions.
This package also adds some extension methods to SKCanvas
to make drawing shaped text easier. These methods include DrawShapedText
and it's overloads.
Because we love everyone in the Linux world just as well as the Microsoft and the Xamarin worlds, we have also included some pre-built Linux native binaries in a new, separate package (see #312):
SkiaSharp.NativeAssets.Linux
At the current time, it just contains a Ubuntu 16.04 amd64 build that should work on most Debian-based Linux distributions. More builds can be requested by leaving a comment on #453.
If a specific platform is required, you can easily build your own binaries by following this guide.
There are a large set of samples that show many different features of SkiaSharp. They are broken up into two main groups:
All the samples that have been built and tested for this version of SkiaSharp can be downloaded in the "Assets" links.
Published by mattleibow about 6 years ago
A cross-platform 2D graphics API for .NET platforms based on Google's Skia Graphics Library. It provides a comprehensive 2D API that can be used across mobile, server and desktop models to render images.
NuGet | Code Diff | Project | Milestone
macOS CI | Windows CI | Native Linux CI (Ubuntu 14) | Native Linux CI (Ubuntu 16) | Linux CI (Ubuntu 16)
A set of pre-prepared UI views, panels and surfaces for drawing. One of these views can be added to the view hierarchy, and then be used for drawing without the need for complex setup. There is also a set of extension methods for converting to/from SkiaSharp and native types.
SKXamlCanvas
(#582, #585)A set of pre-prepared views for Xamarin.Forms, for fully cross-platform drawing code. There are views for both CPU and GPU backends, along with extension methods for converting to/from SkiaSharp and Xamarin.Forms types. Currently available for iOS, Android, UWP, macOS (preview) and Tizen (preview).
HarfBuzz is a text shaping engine, and HarfBuzzSharp exposes some of the functionality to managed .NET applications.
Support for text shaping using the HarfBuzz text shaping library. This package adds the SKShaper
type that can shape a string, returning the codepoints and their positions.
This package also adds some extension methods to SKCanvas
to make drawing shaped text easier. These methods include DrawShapedText
and it's overloads.
Because we love everyone in the Linux world just as well as the Microsoft and the Xamarin worlds, we have also included some pre-built Linux native binaries.
The system that was used to build these binaries was: "Ubuntu 14.04 amd64".
All the Linux binaries for this version of SkiaSharp can be downloaded in the "Assets" links.
A few new samples were added to demonstrate some new features. In addition to new samples, the samples have now been split into two categories: Basic and Gallery. The Basic samples are minimal and contain the bare bones to get started. The Gallery samples showcase some cool features of SkiaSharp.
All the samples that have been built and tested for this version of SkiaSharp can be downloaded in the "Assets" links.
Published by mattleibow over 6 years ago
A cross-platform 2D graphics API for .NET platforms based on Google's Skia Graphics Library. It provides a comprehensive 2D API that can be used across mobile, server and desktop models to render images.
SKNWayCanvas
to support drawing to multiple canvases simultaneouslySKRoundRect
to support drawing more complex rounded rectanglesEncode()
overloads to SKPixmap
to give more control when encoding PNG, JPEG and WEBP imagesNuGet | Code Diff | Project | Milestone
macOS CI | Windows CI | Linux CI (Ubuntu 14) | Linux CI (Ubuntu 16)
A set of pre-prepared UI views, panels and surfaces for drawing. One of these views can be added to the view hierarchy, and then be used for drawing without the need for complex setup. There is also a set of extension methods for converting to/from SkiaSharp and native types.
SKWidget
rendering slow (#534)SKXamlCanvas
(#429)A set of pre-prepared views for Xamarin.Forms, for fully cross-platform drawing code. There are views for both CPU and GPU backends, along with extension methods for converting to/from SkiaSharp and Xamarin.Forms types. Currently available for iOS, Android, UWP, macOS (preview) and Tizen (preview).
SKXamlCanvas
(#429)HarfBuzz is a text shaping engine, and HarfBuzzSharp exposes some of the functionality to managed .NET applications.
Support for text shaping using the HarfBuzz text shaping library. This package adds the SKShaper
type that can shape a string, returning the codepoints and their positions.
This package also adds some extension methods to SKCanvas
to make drawing shaped text easier. These methods include DrawShapedText
and it's overloads.
Because we love everyone in the Linux world just as well as the Microsoft and the Xamarin worlds, we have also included some pre-built Linux native binaries.
The system that was used to build these binaries was: "Ubuntu 14.04 amd64".
All the Linux binaries for this version of SkiaSharp can be downloaded in the "Assets" links.
A few new samples were added to demonstrate some new features. In addition to new samples, the samples have now been split into two categories: Basic and Gallery. The Basic samples are minimal and contain the bare bones to get started. The Gallery samples showcase some cool features of SkiaSharp.
All the samples that have been built and tested for this version of SkiaSharp can be downloaded in the "Assets" links.
Published by mattleibow over 6 years ago
A cross-platform 2D graphics API for .NET platforms based on Google's Skia Graphics Library. It provides a comprehensive 2D API that can be used across mobile, server and desktop models to render images.
SKAutoCoInitialize
to assist in initializing COM on supported platformsGRGlInterface.CreateNativeEvasInterface()
to create a GL interface from an Evas GL objectSKDocument
NuGet | Code Diff | Project | Milestone
macOS CI | Windows CI | Linux CI (Ubuntu 14) | Linux CI (Ubuntu 16)
A set of pre-prepared UI views, panels and surfaces for drawing. One of these views can be added to the view hierarchy, and then be used for drawing without the need for complex setup. There is also a set of extension methods for converting to/from SkiaSharp and native types.
SKCanvasView
and SKGLSurfaceView
for Tizen OS (preview)
GLTextureView
where the stack trace was lostGLTextureView
where pausing the app would cause a crashSKWidget
where it would try and swizzle too many pixelsA set of pre-prepared views for Xamarin.Forms, for fully cross-platform drawing code. There are views for both CPU and GPU backends, along with extension methods for converting to/from SkiaSharp and Xamarin.Forms types. Currently available for iOS, Android, UWP, macOS (preview) and Tizen (preview).
ISKCanvasViewController
is now public so additional platforms can be easily addedHarfBuzz is a text shaping engine, and HarfBuzzSharp exposes some of the functionality to managed .NET applications.
Support for text shaping using the HarfBuzz text shaping library. This package adds the SKShaper
type that can shape a string, returning the codepoints and their positions.
This package also adds some extension methods to SKCanvas
to make drawing shaped text easier. These methods include DrawShapedText
and it's overloads.
Because we love everyone in the Linux world just as well as the Microsoft and the Xamarin worlds, we have also included some pre-built Linux native binaries.
The system that was used to build these binaries was: "Ubuntu 14.04 amd64".
All the Linux binaries for this version of SkiaSharp can be downloaded in the "Assets" links.
A few new samples were added to demonstrate some new features. In addition to new samples, the samples have now been split into two categories: Basic and Gallery. The Basic samples are minimal and contain the bare bones to get started. The Gallery samples showcase some cool features of SkiaSharp.
All the samples that have been built and tested for this version of SkiaSharp can be downloaded in the "Assets" links.
Published by mattleibow over 6 years ago
A cross-platform 2D graphics API for .NET platforms based on Google's Skia Graphics Library. It provides a comprehensive 2D API that can be used across mobile, server and desktop models to render images.
SKImage
support for GPU imagesSKStream
streams can be created using SKAbstractManagedStream
SKFrontBufferedManagedStream
to enable reading from read-only, forward-only streamsSKStream.Peek()
methodSKImage
SKPixelSerializer
and SKManagedPixelSerializer
to support custom image encodingSKBitmap
copyingSKBitmap
is now auto-lockedSKCanvas
SKPaint.BreakText
now properly returns the number of characters and the split textSKDocument
NuGet | Code Diff | Mac CI | Windows CI | Linux CI
A set of pre-prepared UI views, panels and surfaces for drawing. One of these views can be added to the view hierarchy, and then be used for drawing without the need for complex setup. There is also a set of extension methods for converting to/from SkiaSharp and native types.
SKGLTextureView
for AndroidSKWidget
for GTK# (preview)
SKGLTextureView
for AndroidSKWidget
SKControl
now has more constructors to control the underlying OpenGL configurationA set of pre-prepared views for Xamarin.Forms, for fully cross-platform drawing code. There are views for both CPU and GPU backends, along with extension methods for converting to/from SkiaSharp and Xamarin.Forms types. Currently available for iOS, Android, UWP and macOS (preview).
SKGLView
now uses the new SKGLTextureView
for AndroidSKGLView
on Android to a texture-based viewHarfBuzz is a text shaping engine, and HarfBuzzSharp exposes some of the functionality to managed .NET applications.
Support for text shaping using the HarfBuzz text shaping library. This package adds the SKShaper
type that can shape a string, returning the codepoints and their positions.
This package also adds some extension methods to SKCanvas
to make drawing shaped text easier. These methods include DrawShapedText
and it's overloads.
Because we love everyone in the Linux world just as well as the Microsoft and the Xamarin worlds, we have also included some pre-built Linux native binaries.
The system that was used to build these binaries was: "Ubuntu 14.04 amd64".
All the Linux binaries for this version of SkiaSharp can be downloaded in the "Assets" links.
A few new samples were added to demonstrate some new features. In addition to new samples, the samples have now been split into two categories: Basic and Gallery. The Basic samples are minimal and contain the bare bones to get started. The Gallery samples showcase some cool features of SkiaSharp.
All the samples that have been built and tested for this version of SkiaSharp can be downloaded in the "Assets" links.
Published by mattleibow almost 7 years ago
A cross-platform 2D graphics API for .NET platforms based on Google's Skia Graphics Library. It provides a comprehensive 2D API that can be used across mobile, server and desktop models to render images.
SK3dView
as it is now confirmed part of the APINuGet | Code Diff | Mac CI | Windows CI | Linux CI
A set of pre-prepared UI views, panels and surfaces for drawing. One of these views can be added to the view hierarchy, and then be used for drawing without the need for complex setup. There is also a set of extension methods for converting to/from SkiaSharp and native types.
A set of pre-prepared views for Xamarin.Forms, for fully cross-platform drawing code. There are views for both CPU and GPU backends, along with extension methods for converting to/from SkiaSharp and Xamarin.Forms types. Currently available for iOS, Android, UWP and macOS (preview).
SkiaSharp.Svg and SkiaSharp.Extended have moved to mono/SkiaSharp.Extended and will be updated independently from this repository.
HarfBuzz is a text shaping engine, and HarfBuzzSharp exposes some of the functionality to managed .NET applications.
Support for text shaping using the HarfBuzz text shaping library. This package adds the SKShaper
type that can shape a string, returning the codepoints and their positions.
This package also adds some extension methods to SKCanvas
to make drawing shaped text easier. These methods include DrawShapedText
and it's overloads.
A few new samples were added to demonstrate some new features.
All the samples that have been built and tested for this version of SkiaSharp can be downloaded in the "Assets" links.
Published by mattleibow almost 7 years ago
A cross-platform 2D graphics API for .NET platforms based on Google's Skia Graphics Library. It provides a comprehensive 2D API that can be used across mobile, server and desktop models to render images.
SKTypeface
can now be constructed from non-seekable streams or SKData
packages.config
to <PackageReference>
(and other .csproj cleanups)ObjectDisposedException
(#292)SKManagedStream
and this fixed loading of bitmaps over the network (#335)SKManagedStream
(#376, #83)NuGet | Code Diff | Mac CI | Windows CI | Linux CI
A set of pre-prepared UI views, panels and surfaces for drawing. One of these views can be added to the view hierarchy, and then be used for drawing without the need for complex setup. There is also a set of extension methods for converting to/from SkiaSharp and native types.
GRContext
on the various GL views (#358)A set of pre-prepared views for Xamarin.Forms, for fully cross-platform drawing code. There are views for both CPU and GPU backends, along with extension methods for converting to/from SkiaSharp and Xamarin.Forms types. Currently available for iOS, Android, UWP and macOS (preview).
GRContext
on SKGLView
(#358)SkiaSharp.Svg and SkiaSharp.Extended have moved to mono/SkiaSharp.Extended and will be updated independently from this repository.
HarfBuzz is a text shaping engine, and HarfBuzzSharp exposes some of the functionality to managed .NET applications.
Support for text shaping using the HarfBuzz text shaping library. This package adds the SKShaper
type that can shape a string, returning the codepoints and their positions.
This package also adds some extension methods to SKCanvas
to make drawing shaped text easier. These methods include DrawShapedText
and it's overloads.
A few new samples were added to demonstrate some new features.
All the samples that have been built and tested for this version of SkiaSharp can be downloaded in the "Downloads" links below.
Published by mattleibow about 7 years ago
This release is a bugfix release for v1.59.1.
ObjectDisposedException
- https://github.com/mono/SkiaSharp/issues/292
NuGet | Code Diff | Mac CI | Windows CI | Linux CI
Published by mattleibow about 7 years ago
This release is a bugfix release for v1.58.1.
ObjectDisposedException
- https://github.com/mono/SkiaSharp/issues/292
NuGet | Code Diff | Mac CI | Windows CI | Linux CI
Published by mattleibow over 7 years ago
A cross-platform 2D graphics API for .NET platforms based on Google's Skia Graphics Library. It provides a comprehensive 2D API that can be used across mobile, server and desktop models to render images.
NuGet | Code Diff | Mac CI | Windows CI | Linux CI
A set of pre-prepared UI views, panels and surfaces for drawing. One of these views can be added to the view hierarchy, and then be used for drawing without the need for complex setup. There is also a set of extension methods for converting to/from SkiaSharp and native types.
A set of pre-prepared views for Xamarin.Forms, for fully cross-platform drawing code. There are views for both CPU and GPU backends, along with extension methods for converting to/from SkiaSharp and Xamarin.Forms types. Currently available for iOS, Android, UWP and macOS (preview).
SkiaSharp.Svg and SkiaSharp.Extended have moved to mono/SkiaSharp.Extended and will be updated independently from this repository.
HarfBuzz is a text shaping engine, and HarfBuzzSharp exposes some of the functionality to managed .NET applications.
Support for text shaping using the HarfBuzz text shaping library. This package adds the SKShaper
type that can shape a string, returning the codepoints and their positions.
This package also adds some extension methods to SKCanvas
to make drawing shaped text easier. These methods include DrawShapedText
and it's overloads.
A few new samples were added to demonstrate some new features.
All the samples that have been built and tested for this version of SkiaSharp can be downloaded in the "Downloads" links below.
Published by mattleibow over 7 years ago
A cross-platform 2D graphics API for .NET platforms based on Google's Skia Graphics Library. It provides a comprehensive 2D API that can be used across mobile, server and desktop models to render images.
chrome/m59
branch
NuGet | Code Diff | Mac CI | Windows CI | Linux CI
A set of pre-prepared UI views, panels and surfaces for drawing. One of these views can be added to the view hierarchy, and then be used for drawing without the need for complex setup. There is also a set of extension methods for converting to/from SkiaSharp and native types.
A set of pre-prepared views for Xamarin.Forms, for fully cross-platform drawing code. There are views for both CPU and GPU backends, along with extension methods for converting to/from SkiaSharp and Xamarin.Forms types. Currently available for iOS, Android, UWP and macOS (preview).
SkiaSharp.Svg and SkiaSharp.Extended have moved to mono/SkiaSharp.Extended and will be updated independently from this repository.
HarfBuzz is a text shaping engine, and HarfBuzzSharp exposes some of the functionality to managed .NET applications.
Support for text shaping using the HarfBuzz text shaping library. This package adds the SKShaper
type that can shape a string, returning the codepoints and their positions.
This package also adds some extension methods to SKCanvas
to make drawing shaped text easier. These methods include DrawShapedText
and it's overloads.
A few new samples were added to demonstrate some new features.
All the samples that have been built and tested for this version of SkiaSharp can be downloaded in the "Downloads" links below.
Published by mattleibow over 7 years ago
A cross-platform 2D graphics API for .NET platforms based on Google's Skia Graphics Library. It provides a comprehensive 2D API that can be used across mobile, server and desktop models to render images.
GRContextOptions
struct definitionSKRectI.Ceiling
and SKRectI.Floor
to "inflate"/"deflate" to integral coordinates (#318)SKRegion.SetPath
to not always create an empty region (#316)NuGet: https://www.nuget.org/packages/SkiaSharp/1.58.1
Code Diff: https://github.com/mono/SkiaSharp/compare/v1.58.0...v1.58.1
CI: https://jenkins.mono-project.com/view/Components/job/Components-SkiaSharp/235
A set of pre-prepared UI views, panels and surfaces for drawing. One of these views can be added to the view hierarchy, and then be used for drawing without the need for complex setup. There is also a set of extension methods for converting to/from SkiaSharp and native types.
NuGet: https://www.nuget.org/packages/SkiaSharp.Views/1.58.1
A set of pre-prepared views for Xamarin.Forms, for fully cross-platform drawing code. There are views for both CPU and GPU backends, along with extension methods for converting to/from SkiaSharp and Xamarin.Forms types. Currently available for iOS, Android, UWP and macOS (preview).
Touch events are disable by default for several reasons, to preserve backwards compatibility, remove the need for additional events if not required and because Xamarin.Forms has a bug on iOS (that has been fixed in the preview feed). To enable touch events, set the EnableTouchEvents
property to true
and attach a handler to the Touch
event:
<views:SKCanvasView ... EnableTouchEvents="True" Touch="OnTouch" />
Then, in the code behind, you can respond to the touches:
private void OnTouch(object sender, SKTouchEventArgs e)
{
// the ID of the finger that toucged the screen
var pointerId = e.Id;
switch (e.ActionType)
{
case SKTouchAction.Pressed:
// the user added a finger
break;
case SKTouchAction.Moved:
// the user moved a finger
break;
case SKTouchAction.Released:
// the user removed a finger
break;
}
// the location (in pixels) of the finger on the screen
var pos = e.Location;
// set Handled to true if we handled the event
// if we don't, then parent views may also respond
e.Handled = true;
}
NuGet: https://www.nuget.org/packages/SkiaSharp.Views.Forms/1.58.1
SkiaSharp.Svg and SkiaSharp.Extended have moved to mono/SkiaSharp.Extended and will be updated independently from this repository.
HarfBuzz is a text shaping engine, and HarfBuzzSharp exposes some of the functionality to managed .NET applications.
NuGet: https://www.nuget.org/packages/HarfBuzzSharp/1.4.6
Support for text shaping using the HarfBuzz text shaping library. This package adds the SKShaper
type that can shape a string, returning the codepoints and their positions.
This package also adds some extension methods to SKCanvas
to make drawing shaped text easier. These methods include DrawShapedText
and it's overloads.
NuGet: https://www.nuget.org/packages/SkiaSharp.HarfBuzz/1.58.1-beta
A few new samples were added to demonstrate some new features.
All the samples that have been built and tested for this version of SkiaSharp can be downloaded in the "Downloads" links below.