Announcing ImageSharp.Drawing 1.0.0

ImageSharp.Drawing v1 - Drawing the Future, One Pixel at a Time

Bob Ross holding a paintbrush

We are very excited to announce the release of SixLabors.ImageSharp.Drawing 1.0.0 final. You can download it today.

This release is a monumental work, the culmination of nearly 7 years of effort and we're really proud of what we have achieved.

SixLabors.ImageSharp.Drawing is a companion library to ImageSharp. While ImageSharp provides core functionality for manipulating images in .NET without the need for System.Drawing, SixLabors.ImageSharp.Drawing extends this capability by adding advanced drawing features.

Here are some key aspects and functionalities you can expect from SixLabors.ImageSharp.Drawing:

  • Rich Text Rendering: Together with the SixLabors.Fonts library, SixLabors.ImageSharp.Drawing allows you to render text onto your images with support for different font styles and alignments.
  • Path Drawing: You can draw complex shapes and paths with this library. This includes lines, curves, and polygons. You can also fill these paths with solid colors, gradients, or patterns.
  • Shapes: Beyond paths, you can easily draw primitive shapes like circles, ellipses, rectangles, and more.
  • Advanced Fill Patterns: ImageSharp.Drawing provides support for various fill patterns, including solid colors, gradients (linear, radial), and even image patterns.
  • Anti-Aliasing: To ensure that your drawn shapes and lines look smooth, the library supports anti-aliasing.
  • Extensions: The library offers various extensions to the core ImageSharp types, making it seamless to integrate drawing operations into your image processing pipeline.
  • Interoperability with ImageSharp: SixLabors.ImageSharp.Drawing is designed to work smoothly with ImageSharp. This means you can chain operations, like loading an image, resizing it, drawing some shapes, and then saving it, in a very fluent and intuitive manner.
  • Performance: Just like ImageSharp, SixLabors.ImageSharp.Drawing is designed with performance in mind. It's a fully managed solution which means you don't need to rely on native libraries to get good performance.

If you're looking to perform drawing operations in a .NET environment, especially in platforms where System.Drawing is not recommended or available (like in containerized applications), ImageSharp and SixLabors.ImageSharp.Drawing offer a powerful and modern alternative.

As we promised back in July 2022 we're making sure that all v1.x releases are Open Source and free to use. v1.x is licensed under the Apache 2.0 license.

However, please be aware that the v1.x releases are compatible with ImageSharp v2.x releases only.

Examples #

We won't go into coding examples here as we have a dedicated documentation site for that. Instead, we'll show you some of the cool things you can do with SixLabors.ImageSharp.Drawing.

Drawing text along a path

Draw text along a path

Filling a polygon with a pattern brush

Filling a polygon with a pattern brush

Parsing and rendering SVG instructions

SVG rendering

Drawing rich text with a rainbow underscore

Drawing rich text with rainbow underscore

Please explore the API documentation. There's a lot to discover and we'll continue to update the supplementary documentation to provide further examples.

The Future #

We'll be publishing a v2 release over the next few weeks that will be compatible with ImageSharp v3.x. This release will be available under the Six Labors Split License We'll be sharing more details about this release soon.

Closing #

Thanks again for all the feedback and usage. It's been a pleasure to build SixLabors.ImageSharp.Drawing so far and to see so many people try it out; we really appreciate it. Please continue exploring the product and learning what it's capable of.