ImageSharp.Drawing provides extensions to ImageSharp containing a cross-platform 2D polygon manipulation API and drawing operations.
Designed to democratize image processing, ImageSharp.Drawing brings you an incredibly powerful yet beautifully simple API.
Built against .NET Standard 1.3, ImageSharp.Drawing can be used in device, cloud, and embedded/IoT scenarios.
Features Include:
- Point in Polygon
- Line Intersections
- Complex Polygons
- Simple polygon clipping
- Regular Polygons (triangles, squares, pentagons etc, any number of sides)
- Ellipses (and therfore circles)
- Shape Builder api - for creating shapes declaratively
- Polygons
- With Linear line segments
- With Beziear curve line segments
- Mixture of both Linear & bezier segments
- Paths
- With Linear line segments
- With Bezier curve line segments
- Mixture of both Linear & bezier segments
- Drawing
- Brushes and various drawing algorithms, including drawing images
- Various vector drawing methods for drawing paths, polygons etc.
- Text drawing
- ImageSharp.Drawing is licensed under the Apache License, Version 2.0
- An alternative Commercial License can be purchased for projects and applications requiring support. Please visit https://sixlabors.com/pricing for details.
- Detailed documentation for the ImageSharp.Drawing API is available. This includes additional conceptual documentation to help you get started.
- Our Samples Repository is also available containing buildable code samples demonstrating common activities.
- Do you have questions? We are happy to help! Please join our Discussions Forum, or ask them on stackoverflow using the
ImageSharp
tag. Do not open issues for questions! - Please read our Contribution Guide before opening issues or pull requests!
This project has adopted the code of conduct defined by the Contributor Covenant to clarify expected behavior in our community. For more information, see the .NET Foundation Code of Conduct.
Install stable releases via Nuget; development releases are available via MyGet.
Package Name | Release (NuGet) | Nightly (MyGet) |
---|---|---|
SixLabors.ImageSharp.Drawing |
If you prefer, you can compile ImageSharp.Drawing yourself (please do and help!)
- Using Visual Studio 2019
- Make sure you have the latest version installed
- Make sure you have the .NET Core 3.1 SDK installed
Alternatively, you can work from command line and/or with a lightweight editor on both Linux/Unix and Windows:
To clone ImageSharp.Drawing locally, click the "Clone in [YOUR_OS]" button above or run the following git commands:
git clone https://github.com/SixLabors/ImageSharp.Drawing
If working with Windows please ensure that you have enabled log file paths in git (run as Administrator).
git config --system core.longpaths true
This repository contains git submodules. To add the submodules to the project, navigate to the repository root and type:
git submodule update --init --recursive
Please... Spread the word, contribute algorithms, submit performance improvements, unit tests, no input is too little. Make sure to read our Contribution Guide before opening a PR.
Support us with a monthly donation and help us continue our activities. [Become a backer]
Become a sponsor and get your logo on our README on Github with a link to your site. [Become a sponsor]