Releases: mono/SkiaSharp
Version 1.58.0
SkiaSharp
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.
- Update to the latest stable version of skia (chrome/m58)
- Added bindings for
SKColorSpace
CreateColorCube
andCreateGamma
are no longer available onSKColorFilter
CreateHighContrast
is now available onSKColorFilter
- A few more
SKImageFilter
andSKPathEffect
types - Images are now always decoded as premultiplied alpha
- Improvements for Linux consumers
- General bug fixes and improvements
NuGet: https://www.nuget.org/packages/SkiaSharp/1.58.0
Code Diff: v1.57.1...v1.58.0
SkiaSharp.Views
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.0
SkiaSharp.Views.Forms
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).
NuGet: https://www.nuget.org/packages/SkiaSharp.Views.Forms/1.58.0
SkiaSharp.Svg (preview)
Support for SVG has been a hot topic, but Google has stated that this is not going to be a feature coming too soon. However, we do want to support SVG. To this end, we are trying out a lightweight SVG parser.
This goes in part with SKSvgCanvas
, which is used to create SVG files. Although both are still "preview" areas because not all the features of SVG have been implemented yet, they are both still very usable for most cases.
NuGet: https://www.nuget.org/packages/SkiaSharp.Svg/1.58.0
SkiaSharp.Extended (preview)
During the process of development and support, we have collected some cool functions that may be useful to some apps. We decided to release these an a package so that everyone can find use for them. This is a very small collection right now, but we hope to extend this with many more features.
We hope you will give them a go and suggest any additional features or utilities that may come in handy.
NuGet: https://www.nuget.org/packages/SkiaSharp.Extended/1.58.0-beta
HarfBuzzSharp (preview)
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
SkiaSharp.HarfBuzz (preview)
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.0-beta
Samples
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.
Version 1.57.1
SkiaSharp
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.
- Fixed issue with non-antialiased text on a scaled canvas on Windows
SKTypeface
now has support for opening a stream to the underlying font data- Fixed an issue with publishing a .NET Core app to Windows 10
- Installing the NuGet now requires NuGet v3.5+ for UWP apps
- Improvements for Xamarin Workbooks
- Improvements for macOS packaging
NuGet: https://www.nuget.org/packages/SkiaSharp/1.57.1
Code Diff: v1.57.0...v1.57.1
SkiaSharp.Views
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.
- Improved the designer detection support when native assets aren't available
NuGet: https://www.nuget.org/packages/SkiaSharp.Views/1.57.1
SkiaSharp.Views.Forms
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).
- Initial support for Xamarin.Mac (preview)
- Reworked the renderers making extension and customization far easier and simpler
- The Xamarin.Forms Previewer no longer crashes when adding SkiaSharp views
- Fixed an issue with the renderers adding multiple native views when in a list view item
NuGet: https://www.nuget.org/packages/SkiaSharp.Views.Forms/1.57.1
SkiaSharp.Svg (preview)
Support for SVG has been a hot topic, but Google has stated that this is not going to be a feature coming too soon. However, we do want to support SVG. To this end, we are trying out a lightweight SVG parser.
This goes in part with SKSvgCanvas
, which is used to create SVG files. Although both are still "preview" areas because not all the features of SVG have been implemented yet, they are both still very usable for most cases.
NuGet: https://www.nuget.org/packages/SkiaSharp.Svg/1.57.1
SkiaSharp.Extended (preview)
During the process of development and support, we have collected some cool functions that may be useful to some apps. We decided to release these an a package so that everyone can find use for them. This is a very small collection right now, but we hope to extend this with many more features.
We hope you will give them a go and suggest any additional features or utilities that may come in handy.
NuGet: https://www.nuget.org/packages/SkiaSharp.Extended/1.57.1-beta
HarfBuzzSharp (preview)
HarfBuzz is a text shaping engine, and HarfBuzzSharp exposes some of the functionality to managed .NET applications.
- Initial bindings for
Blob
,Buffer
,Face
andFont
NuGet: https://www.nuget.org/packages/HarfBuzzSharp/1.4.5
SkiaSharp.HarfBuzz (preview)
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.
- Added a
SKShaper
type for shaping text - Added a
DrawShapedText
extension method toSKCanvas
- Added a
ToHarfBuzzBlob
extension method toSKStreamAsset
(seekable streams)
NuGet: https://www.nuget.org/packages/SkiaSharp.HarfBuzz/1.57.1-beta
Samples
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.
Version 1.57.0
SkiaSharp
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.
- ⭐️ Major upgrade from m56 to m57 of the native skia library
SKBitmap
can now be encoded directly usingEncode
SKCanvas
can now draw aSKSurface
directlySKData
can now be created without existing data / uninitializedSKDocument
can now create XPS documents (Windows-only)- ❗️ There is a known issue with XPS on Windows 10 Mobile: see issue
SK3dView
is now obsolete. UseSKMatrix44
insteadSKPixmap
can now also encode the pixel data directly usingEncode
overloadsSKSurface
has members to access the pixel data directly- ❗️ The emboss
SKMaskFilter
and shadowSKMaskFilter
are no longer available - ❗️
SKEncodedFormat
andSKImageEncodeFormat
are nowSKEncodedImageFormat
- ❗️ Using
[Obsolete]
members are now errors - Resolved AOT errors on Android
- Many other bug fixes and additional features
NuGet: https://www.nuget.org/packages/SkiaSharp/1.57.0
Code Diff: v1.56.2...v1.57.0
SkiaSharp.Views
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.57.0
SkiaSharp.Views.Forms
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 and UWP.
SKCanvasView
andSKGLView
now correctly resizes in some cases
NuGet: https://www.nuget.org/packages/SkiaSharp.Views.Forms/1.57.0
SkiaSharp.Svg (preview)
Support for SVG has been a hot topic, but Google has stated that this is not going to be a feature coming too soon. However, we do want to support SVG. To this end, we are trying out a lightweight SVG parser.
This goes in part with SKSvgCanvas
, which is used to create SVG files. Although both are still "preview" areas because not all the features of SVG have been implemented yet, they are both still very usable for most cases.
NuGet: https://www.nuget.org/packages/SkiaSharp.Svg/1.57.0
SkiaSharp.Extended (preview)
During the process of development and support, we have collected some cool functions that may be useful to some apps. We decided to release these an a package so that everyone can find use for them. This is a very small collection right now, but we hope to extend this with many more features.
We hope you will give them a go and suggest any additional features or utilities that may come in handy. What we have so far is:
- Initial work for
SKGeometry
CreateSectorPath
will create a pie/donut shape as would be used in a pie/donut chartCreatePiePath
will create a pie/donut chart from a series of offset values- Various other methods to create regular shape paths
NuGet: https://www.nuget.org/packages/SkiaSharp.Extended/1.57.0-beta
Samples
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.
Version 1.56.2
SkiaSharp
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.
SKMatrix44
represents 3D transformationsSKFrontBufferedStream
can be used to wrap non-seebable streams when decoding bitmaps withSKCodec
SKPMColor
represents premultiplied colors and can be used for premultiplying and unpremultiplying colorsSKData
has several overloads for creating instances either as a copy or a wrapperSKImage
now has lots more members for constructing pixel-backed and texture-backed imagesSKImage
also has useful methods, such asReadPixels
,PeekPixels
, ScalePixelsand
ApplyImageFilter`GRContext
can now reset internal state using theResetContext
methodSKBitmap
can now decode non-seekable streams using the newSKFrontBufferedStream
SKCanvas
now has theDrawVertices
method- Many of the types that accepted a
SKStream
now have overloads for .NETStream
types - Installing the SkiaSharp NuGet into unit test projects, or class libraries will result in the correct native libraries being copied to the bin directory
- Fixed a bug with the underlying skia referencing and returning the same instance, but SkiaSharp didn't respect that. (It disposed of the instance)
- Moved some more of the nested enumerations out into the root
- ❗️
SKColorTable
is now correctly using premultiplied colors (SKPMColor
), and will premultiplySKColor
automatically - Many other bug fixes and additional features
NuGet: https://www.nuget.org/packages/SkiaSharp/1.56.2
Code Diff: v1.56.1...v1.56.2
SkiaSharp.Views
A set of pre-prepared UI views, panels and surfaces for drawing. One of these views can be added to the view hierachy, 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.
- There are now several extension methods for converting between SkiaSharp and native image formats
- To/from
SKBitmap
,SKImage
,SKPixmap
,SKPicture
- To/from UWP/WPF
WriteableBitmap
, Android and DesktopBitmap
, iOS/tvOSUIImage
, AppleCGImage
andCIImage
, macOSNSImage
- To/from
- New extension methods for converting between
SKData
andNSData
- Major performance improvements to the UWP
SKXamlCanvas
NuGet: https://www.nuget.org/packages/SkiaSharp.Views/1.56.2
SkiaSharp.Views.Forms
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 and UWP.
- There are several SkiaSharp
ImageSource
types that can be used to directly draw a SkiaSharp image
NuGet: https://www.nuget.org/packages/SkiaSharp.Views.Forms/1.56.2
SkiaSharp.Svg (preview)
Support for SVG has been a hot topic, but Google has stated that this is not going to be a feature coming soon (or at all). However, we do want to support SVG. To this end, we are trying out a lightweight SVG parser.
This goes in part with SKSvgCanvas
, which is used to create SVG files. Although both are still "preview" areas because not all the features of SVG have been implemented yet, they are both still very usable for most cases.
- More improvements for viewbox handling
NuGet: https://www.nuget.org/packages/SkiaSharp.Svg/1.56.2
Samples
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.
Version 1.56.1
SkiaSharp
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.
- New & Improved Platforms
- Added Types
- Other API Additions
- ★ Many new members for
SKPath
, such asAddPoly
andSegmentMasks
- ★ Many new members for
SKBitmap
, such asExtractAlpha
andExtractSubset
- ★ Improved support for Unicode, UTF-32, emojis (#232)
- ★ Some string helpers in
StringUtilities
- ★ Class library builds (ie: tests) for .NET 4.5 will now copy the native assembly to the output (#44, #190)
- ★ Support for high quality blurring with
SKMaskFilter
- ★
SKCodec
now supports scanline decoding - PDF
SKDocument
now supports metadata and annotations SKBitmap
can be created from aSKMask
- Changed
SKStrokeJoin.Mitter
toSKStrokeJoin.Miter
(#227) SKImageInfo.PlatformColorType
now correctly obtains the platform color type
- ★ Many new members for
NuGet: https://www.nuget.org/packages/SkiaSharp/1.56.1
Code Diff: v1.56.0...v1.56.1
SkiaSharp.Views
A set of pre-prepared UI views, panels and surfaces for drawing. One of these views can be added to the view hierachy, 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.56.1
SkiaSharp.Views.Forms
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 and UWP.
- ★ The renderers are now public (#218)
- They can be extended by apps/libraries
- Demo: https://github.com/mattleibow/SkiaSharpFormsRendererDemo
NuGet: https://www.nuget.org/packages/SkiaSharp.Views.Forms/1.56.1
SkiaSharp.Svg (preview)
Support for SVG has been a hot topic, but Google has stated that this is not going to be a feature coming soon (or at all). However, we do want to support SVG. To this end, we are trying out a lightweight SVG parser.
This goes in part with SKSvgCanvas
, which is used to create SVG files. Although both are still "preview" areas because not all the features of SVG have been implemented yet, they are both still very usable for most cases.
- ★ Fixes the handling of the viewbox (#230)
NuGet: https://www.nuget.org/packages/SkiaSharp.Svg/1.56.1
Samples
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.
Version 1.56.1 (beta)
SkiaSharp
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.
- New & Improved Platforms
- Added Types
- Added support for the
SKSvgCanvas
(preview) - Added support for
SKMask
- Added support for
SK3dView
(creating 3DSKMatrix
transformations)
- Added support for the
- Other API Additions
- PDF
SKDocument
now supports metadata and annotations SKBitmap
can be created from aSKMask
- Changed
SKStrokeJoin.Mitter
toSKStrokeJoin.Miter
SKImageInfo.PlatformColorType
now correctly obtains the platform color type
- PDF
NuGet: https://www.nuget.org/packages/SkiaSharp/1.56.1-beta
Code Diff: v1.56.0...v1.56.1-beta
SkiaSharp.Views
A set of pre-prepared UI views, panels and surfaces for drawing. One of these views can be added to the view hierachy, 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.56.1-beta
SkiaSharp.Views.Forms
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 and UWP.
NuGet: https://www.nuget.org/packages/SkiaSharp.Views.Forms/1.56.1-beta
SkiaSharp.Svg (preview)
Support for SVG has been a hot topic, but Google has stated that this is not going to be a feature coming soon (or at all). However, we do want to support SVG. To this end, we are trying out a lightweight SVG parser.
NuGet: https://www.nuget.org/packages/SkiaSharp.Svg/1.56.1-beta
Samples
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.
Version 1.56.0
SkiaSharp
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.
- Improvements to
SKBitmap
- Resizing bitmaps using
SKBitmap.Resize
- Updating pixels directly using
SKBitmap.InstallPixels
andSKBitmap.PeekPixels
- Bindings for
SKPixmap
- Resizing bitmaps using
- Improvements to
SKCodec
- Support for multi-frame images (such as .gif)
- Support for reading the encoding information of a bitmap file
- Other improvements
SKXfermode
has been deprecated in favour ofSKBlendMode
SKPicture.Bounds
is now, more correctly,SKPicture.CullRect
NuGet: https://www.nuget.org/packages/SkiaSharp/1.56.0
Code Diff: v1.55.1...v1.56.0
SkiaSharp.Views
A set of pre-prepared UI views, panels and surfaces for drawing. One of these views can be added to the view hierachy, 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.
- Fix for Android GL views to correctly clear the stencil buffer
- Added a stencil buffer for macOS GL views
- No longer dependent on OpenTK for Android/iOS/tvOS/macOS GL views
SKXamlCanvas
for UWP no longer blocks onInvalidate()
NuGet: https://www.nuget.org/packages/SkiaSharp.Views/1.56.0
SkiaSharp.Views.Forms
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 and UWP.
- No longer dependent on OpenTK for Android/iOS/tvOS/macOS GL views
- iOS
SKCanvasView
andSKGLViewRenderer
is now transparent by default
NuGet: https://www.nuget.org/packages/SkiaSharp.Views.Forms/1.56.0
SkiaSharp.Svg (preview)
Support for SVG has been a hot topic, but Google has stated that this is not going to be a feature coming soon (or at all). However, we do want to support SVG. To this end, we are trying out a lightweight SVG parser.
- Correctly handling SVG transparency and opacity
NuGet: https://www.nuget.org/packages/SkiaSharp.Svg/1.56.0-beta1
Samples
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.
Version 1.55.1
SkiaSharp
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.
- Improvements to
SKBitmap
- Decoded as a specific format (size/scale, color type)
- Pixels can now be replaced in a variety of ways
- Better support for the
Index8
color type (thanks to @Tylerflick)
- Improvements to
SKCanvas
QuickReject
to do a check before drawing
- Improvements to
SKCodec
- Now supports incremental decoding
- Other improvements
GRBackendRenderTargetDesc
has convenience membersSize
andRect
SKColorTable
has an indexer to get the colorsSKData
can be used as a stream, which handles the lifetime of the data- Fixed SkiaSharp for Windows Mobile emulator and Xbox One
NuGet: https://www.nuget.org/packages/SkiaSharp/1.55.1
Code Diff: v1.55.0...v1.55.1
SkiaSharp.Views
A set of pre-prepared UI views, panels and surfaces for drawing. One of these views can be added to the view hierachy, 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.
- All raster-based views now have an option to ignore device scaling
NuGet: https://www.nuget.org/packages/SkiaSharp.Views/1.55.1
SkiaSharp.Views.Forms
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 and UWP.
- All raster-based views now have an option to ignore device scaling
NuGet: https://www.nuget.org/packages/SkiaSharp.Views.Forms/1.55.1
SkiaSharp.Svg (preview)
Support for SVG has been a hot topic, but Google has stated that this is not going to be a feature coming soon (or at all). However, we do want to support SVG. To this end, we are trying out a lightweight SVG parser.
- An SVG can be loaded onto a canvas of a pre-defined size:
- Completely ignore the drawing size in the SVG file (not scaled)
- In case the SVG file does not have a size set
NuGet: https://www.nuget.org/packages/SkiaSharp.Svg/1.55.1-beta1
Samples
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.
Version 1.55.0
SkiaSharp
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.
- Updated to the latest version of Google's Skia:
chrome/m55
- Many new features and improvements:
- Improved exceptions for invalid/incorrect arguments
- Added parsing HTML hex colors:
SKColor.Parse
andSKColor.TryParse
- Added more clipping options for
SKCanvas
, such asSKRegion
- Added
SKPaint.GetFillPath()
to create a new path using the fill properties - Added numerous overloads and members to
SKPath
- Added
SKPathMeasure
for measuring and segmenting paths - Added getters for
SKTypeface
properties - Additional members and overloads for
SKRect*
,SKSize*
andSKPoint*
- Additional overloads for
SKMatrix
- Improved image lattice drawing
- Improved the internals for
GRGlInterface
on UWP
- Changes from Google's Skia:
GRContext.Flush(GRContextFlushBits)
is now obsolete. UseGRContext.Flush()
.SKDocument.Close()
no longer returnsbool
. Returnsvoid
.SKPaint.XferMode
is now obsolete. UseSKPaint.BlendMode
.
- Documentation:
- Added thousands of docs, over the entire SkiaSharp API
NuGet: https://www.nuget.org/packages/SkiaSharp/1.55.0
SkiaSharp.Views
A set of pre-prepared UI views, panels and surfaces for drawing. One of these views can be added to the view hierachy, 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 few small improvements
- Added
<some-view>.CanvasSize
which can be used to calculate scaling/pixel density:
var scaling = view.CanvasSize.Width / view.Width;
- The namespace is now in the format
SkiaSharp.Views.<platform-name>
NuGet: https://www.nuget.org/packages/SkiaSharp.Views/1.55.0
SkiaSharp.Views.Forms
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 and UWP.
NuGet: https://www.nuget.org/packages/SkiaSharp.Views.Forms/1.55.0
NEW
SkiaSharp.Svg (preview)
Support for SVG has been a hot topic, but Google has stated that this is not going to be a feature coming soon (or at all). However, we do want to support SVG. To this end, we are trying out a lightweight SVG parser. This is a pure managed code parser, that actually lives in a single file.
This implementation of SVG is very limited, but supports all the features supported by the alternate NGraphics library. We are looking to add new features, so please do create issues when you need a feature that does not exist yet.
Another SVG library that has recently had SkiaSharp support added is SVG by @gentledepp. If you need more features than what we have, please create an issue, but remember you can also try this library out as well.
NuGet: https://www.nuget.org/packages/SkiaSharp.Svg/1.55.0-beta1
Samples
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.
Version 1.54.1
SkiaSharp
- Class library projects that depend on SkiaSharp no longer copy the native files:
- The class library doesn't need them, only the app does
- This allows for building the library as
Any CPU
- This applies to macOS/Classic Desktop/WPF/UWP as the other platforms are embedded
- The native files can be copied by adding an element to the
<PropertyGroup>
section of the class library:
<ShouldIncludeNativeSkiaSharp>True</ShouldIncludeNativeSkiaSharp>
SKMatrix
updatesNEW
Now property basedbreaking change
NEW
Support for reading/writing as a flat array
GRGlInterface
improvementsNEW
Added support for creating an ANGLE interfaceNEW
Improved the assembly of a GL interface
- Massive size reduction for Windows/UWP native binaries
- Thanks to @xoofx for finding
- Fix in PR mono/skia#25 or commit mono/skia@a85cb36
- Reduction from >15MB per platform architecture to <5MB
NuGet: https://www.nuget.org/packages/SkiaSharp/1.54.1
NEW
SkiaSharp.Views (preview)
A set of pre-prepared UI views, panels and surfaces for drawing. One of these views can be added to the view hierachy, 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.
- Available for all supported platforms (currently using OpenTK except on UWP):
- iOS/tvOS: CPU/GPU (using OpenGLES) views and layers
- Android: CPU/GPU (using OpenGLES) views and surfaces
- macOS: CPU/GPU (using OpenGL) views and layers
- Classic Desktop/WPF: CPU/GPU (currently using OpenGL) views and elements
- UWP: CPU/GPU (using ANGLE over DirectX) views
- Using native features and cross-platform for drawing hooks:
- iOS/tvOS/macOS: delegates, overrides and events
- Android: overrides, renderers and events
- Classic Desktop/WPF/UWP: overrides and events
NuGet: https://www.nuget.org/packages/SkiaSharp.Views/1.54.1-beta1
NEW
SkiaSharp.Views.Forms (preview)
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 and UWP.
NuGet: https://www.nuget.org/packages/SkiaSharp.Views.Forms/1.54.1-beta1
Samples
All the samples have been re-written from the ground up to both improve the actual apps as well as to improve the development experience.