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 hidden (Show)
Published by mattleibow over 4 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.
API __CxxFrameHandler4 in vcruntime140_1_app.dll is not supported for this application type. libGLESv2.dll calls this API.
API __CxxFrameHandler4 in vcruntime140_1_app.dll is not supported for this application type. libSkiaSharp.dll calls this API.
NuGet | Code Diff | Project | Milestone | Changelog | CI | Release CI
A set of pre-prepared views for Uno Platform, for fully cross-platform drawing code. Current support is just a CPU surface for Android, iOS and macOS, with WASM support under way in a PR (#1333). GPU surfaces are also coming soon.
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 over 4 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.
SkiaSharp.NativeAssets.WebAssembly
that will provide a path to the actual static library (#1389)GRVkBackendContext
, GRVkImageInfo
and more typesSKColorSpace
and related types have been reworked
SKMatrix44
since it is going to be obsolete soonSKFont
type under the hood
SKFont
is a text-related subset of SKPaint
Span<T>
for almost zero-allocation processingSKTextBlob
and SKTextBlobBuilder
now focus on glyphs and only expose convenience members for textSKEncoding
to SKTextEncoding
GRPixelConfig
to SKColorType
GRContext
and GRGlInterface
have been streamlinedSKCanvas.DrawTextOnPath
now has support for not warping characters [@Ziriax]
SKPaint
now supports getting and setting SKColorF
(with or without a color space)SKPath.ToWinding()
can be used to convert the current path to a path that has a winding fill typeSKImageFilter
factory methods now have additional overloadsAPI __CxxFrameHandler4 in vcruntime140_1_app.dll is not supported for this application type. libGLESv2.dll calls this API.
API __CxxFrameHandler4 in vcruntime140_1_app.dll is not supported for this application type. libSkiaSharp.dll calls this API.
NuGet | 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.
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).
A library for text shaping, which is the process of converting Unicode text to glyph indices and positions.
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.
SKCanvas.DrawShapedText
to make simple cases easierBecause working with pointers is not nice, especially when you have an already perfectly good Vulkan API from SharpVk, we have a package that provides a way to use that library with our library.
GRSharpVkBackendContext
to directly use SharpVk objects to construct the GRVkBackendContext
GRVkExtensions
to make initialization easier when using SharpVk objectsBecause 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
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, these packages support several platforms/architectures/distributions.
The base platforms are:
However, these binaries are known to work on many other platforms:
More builds can be requested by leaving a comment on #453, but you can easily build your own binaries by following this guide.
We know the .NET Core containers are very cool to use, so we now have support for using the default Windows .NET Core Docker images (see #676):
SkiaSharp.NativeAssets.NanoServer
It is not quite perfect just yet, so the app project needs a little help (see NuGet/Home#8894):
<PackageReference Include="SkiaSharp" ExcludeAssets="native" />
<PackageReference Include="SkiaSharp.NativeAssets.NanoServer" />
Because the .NET platform and tooling for web assembly is still evolving, we can't yet commit to a final packaging format. However, this does not mean that we cannot at least help get you started.
To do this, we have pre-built a native static library for WASM that can be manually linked, or linked using a framework tooling such as Uno. This library can be found in a new package that provides a path to the actual static library (#1389):
SkiaSharp.NativeAssets.WebAssembly
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 over 4 years ago
Release notes in progress here: https://github.com/mono/SkiaSharp/releases/tag/v2.80.0
Published by mattleibow over 4 years ago
Release notes in progress here: https://github.com/mono/SkiaSharp/releases/tag/v2.80.0
Published by mattleibow over 4 years ago
Release notes in progress here: https://github.com/mono/SkiaSharp/releases/tag/v2.80.0
Published by mattleibow over 4 years ago
Release notes in progress here: https://github.com/mono/SkiaSharp/releases/tag/v2.80.0
Published by mattleibow over 4 years ago
Release notes in progress here: https://github.com/mono/SkiaSharp/releases/tag/v2.80.0
Published by mattleibow over 4 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.
API __CxxFrameHandler4 in vcruntime140_1_app.dll is not supported for this application type. libGLESv2.dll calls this API.
API __CxxFrameHandler4 in vcruntime140_1_app.dll is not supported for this application type. libSkiaSharp.dll calls this API.
NuGet | 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.
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).
A library for text shaping, which is the process of converting Unicode text to glyph indices and positions.
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
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.
We know the .NET Core containers are very cool to use, so we now have support for using the default Windows .NET Core Docker images (see #676):
SkiaSharp.NativeAssets.NanoServer
It is not quite perfect just yet, so the app project needs a little help (see NuGet/Home#8894):
<PackageReference Include="SkiaSharp" ExcludeAssets="native" />
<PackageReference Include="SkiaSharp.NativeAssets.NanoServer" />
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 over 4 years ago
A patch release to fix a packaging issue.
API __CxxFrameHandler4 in vcruntime140_1_app.dll is not supported for this application type. libGLESv2.dll calls this API.
API __CxxFrameHandler4 in vcruntime140_1_app.dll is not supported for this application type. libSkiaSharp.dll calls this API.
Published by mattleibow over 4 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.
SKColorF
for floating-point colors, and the various overloads for membersSKCanvas
for more drawing options: DrawAtlas
, DrawPatch
, DrawArc
and DrawRoundRectDifference
SKImage.ToRasterImage()
to request that the pixel data be actually loadedToTextureImage
to SKImage
to copy a CPU-based raster image to the GPUToShader()
to SKBitmap
, SKImage
and SKPicture
to convert each to a SKShader
SKMatrix
members: Concat
, PreConcat
, PostConcat
SKRegion
for the "quick" reject/containsSKRegion
null
for image filters threw an exception [@Ziriax]
null
to SKPathMeasure
threw an exception [@Ziriax]
IEquatable<T>
to all structsreadonly
[EditorBrowsable (EditorBrowsableState.Never)]
to all obsolete members to improve IntelliSenseAPI __CxxFrameHandler4 in vcruntime140_1_app.dll is not supported for this application type. libGLESv2.dll calls this API.
API __CxxFrameHandler4 in vcruntime140_1_app.dll is not supported for this application type. libSkiaSharp.dll calls this API.
NuGet | 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.
SKRect
, SKPoint
and SKSize
)SKImage
, SKBitmap
, and SKPixmap
) and GTK Pixbuf
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).
SKTouchDeviceType
and touch pressure for touch events on Android [@mscherotter]
A library for text shaping, which is the process of converting Unicode text to glyph indices and positions.
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
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.
We know the .NET Core containers are very cool to use, so we now have support for using the default Windows .NET Core Docker images (see #676):
SkiaSharp.NativeAssets.NanoServer
It is not quite perfect just yet, so the app project needs a little help (see NuGet/Home#8894):
<PackageReference Include="SkiaSharp" ExcludeAssets="native" />
<PackageReference Include="SkiaSharp.NativeAssets.NanoServer" />
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 over 4 years ago
Release notes: https://github.com/mono/SkiaSharp/releases/tag/v1.68.2
Published by mattleibow over 4 years ago
Release notes: https://github.com/mono/SkiaSharp/releases/tag/v1.68.2
Published by mattleibow over 4 years ago
Release notes: https://github.com/mono/SkiaSharp/releases/tag/v1.68.2
Published by mattleibow over 4 years ago
Release notes: https://github.com/mono/SkiaSharp/releases/tag/v1.68.2
Published by mattleibow over 4 years ago
Release notes: https://github.com/mono/SkiaSharp/releases/tag/v1.68.2
Published by mattleibow over 4 years ago
Release notes: https://github.com/mono/SkiaSharp/releases/tag/v1.68.2
Published by mattleibow over 4 years ago
Release notes: https://github.com/mono/SkiaSharp/releases/tag/v1.68.2
Published by mattleibow almost 5 years ago
Release notes: https://github.com/mono/SkiaSharp/releases/tag/v1.68.2
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.
SKImage
NuGet | 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.
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).
A library for text shaping, which is the process of converting Unicode text to glyph indices and positions.
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
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.
We know the .NET Core containers are very cool to use, so we now have support for using the default Windows .NET Core Docker images (see #676):
SkiaSharp.NativeAssets.NanoServer
It is not quite perfect just yet, so the app project needs a little help (see https://github.com/NuGet/Home/issues/8894):
<PackageReference Include="SkiaSharp" ExcludeAssets="native" />
<PackageReference Include="SkiaSharp.NativeAssets.NanoServer" />
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.1