ImageSharp is a new, fully featured, fully managed, cross-platform, 2D graphics library. Designed to simplify image processing, ImageSharp brings you an incredibly powerful yet beautifully simple API.
ImageSharp is designed from the ground up to be flexible and extensible. The library provides API endpoints for common image processing operations and the building blocks to allow for the development of additional operations.
Built against .NET 6, ImageSharp can be used in device, cloud, and embedded/IoT scenarios.
- ImageSharp is licensed under the Six Labors Split License, Version 1.0
Support the efforts of the development of the Six Labors projects.
- Purchase a Commercial License ❤️
- Become a sponsor via GitHub Sponsors ❤️
- Become a sponsor via Open Collective ❤️
- Detailed documentation for the ImageSharp 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? Please join our Discussions Forum. Do not open issues for questions.
- For feature ideas please join our Discussions Forum and we'll be happy to discuss.
- Please read our Contribution Guide before opening issues or pull requests!
Install stable releases via Nuget; development releases are available via MyGet.
|Package Name||Release (NuGet)||Nightly (Feedz.io)|
If you prefer, you can compile ImageSharp yourself (please do and help!)
- Using Visual Studio 2022
- Make sure you have the latest version installed
- Make sure you have the .NET 7 SDK installed
Alternatively, you can work from command line and/or with a lightweight editor on both Linux/Unix and Windows:
To clone ImageSharp locally, click the "Clone in [YOUR_OS]" button above or run the following git commands:
git clone https://github.com/SixLabors/ImageSharp
Then set the following config to ensure blame commands ignore mass reformatting commits.
git config blame.ignoreRevsFile .git-blame-ignore-revs
If working with Windows please ensure that you have enabled long file paths in git (run as Administrator).
git config --system core.longpaths true
This repository uses Git Large File Storage. Please follow the linked instructions to ensure you have it set up in your environment.
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.
Useful tools for development and links to specifications can be found in our wikipage: Useful-tools-and-links.
Special thanks to JetBrains for supporting us with open-source licenses for their IDEs.