Обработка изображений, в частности изменение размера или редактирование изображений, является общим требованием для веб-приложений, мобильных и настольных приложений. Таким образом, мы хотели перечислить варианты, которые существуют для платформы .NET для обработки цифровых изображений. Что еще более важно, мы перечисляем только доступные варианты с открытым исходным кодом.
System.Drawing
Если у вас уже есть код, основанный на System.Drawing
, использование этой библиотеки — самый быстрый путь к .NET Core. Производительность и качество в порядке, и API точно такой же. Встроенные System.Drawing
API — это самый простой способ обработки изображений с помощью .NET Framework, но они полагаются на функции GDI+ из Windows, которые не включены в .NET Core, и представляют собой клиентскую технологию, которая никогда не предназначалась для многопоточной обработки. серверные среды. Существуют проблемы с блокировкой, которые могут сделать это решение непригодным для ваших приложений.
ImageSharp
ImageSharp — это новая, полнофункциональная, полностью управляемая кроссплатформенная библиотека 2D-графики. Разработанный для упрощения обработки изображений, он предлагает вам невероятно мощный, но очень простой API.
Разработан с нуля, чтобы быть гибким и расширяемым. Библиотека предоставляет конечные точки API для общих операций обработки изображений и строительные блоки, позволяющие разрабатывать дополнительные операции.
Построенный на основе .NET Standard 1.3, ImageSharp можно использовать в сценариях устройств, облака и встроенных устройств/IoT.
Его производительность не так хороша, как у библиотек, использующих собственные зависимости от ОС, но она остается очень приемлемой. Его единственная зависимость — это сам .NET, что делает его чрезвычайно переносимым: нет необходимости устанавливать дополнительный пакет, просто сошлитесь на сам ImageSharp, и все готово.
Magick.NET
ImageMagick — это мощная библиотека для работы с изображениями, которая поддерживает более 100 основных форматов файлов (не считая подформатов). С Magick.NET вы можете использовать ImageMagick в своем приложении C#/VB.NET/.NET Core без необходимости устанавливать ImageMagick на свой сервер или рабочий стол.
Поддерживаемые платформы
Эта библиотека является оболочкой .NET для популярной библиотеки ImageMagick. ImageMagick — это кроссплатформенная библиотека с открытым исходным кодом, ориентированная на качество изображения и предлагающая очень широкий выбор поддерживаемых форматов изображений.
СкиаШарп
SkiaSharp — это кроссплатформенный API 2D-графики для платформ .NET, основанный на графической библиотеке Google Skia (skia.org). Он предоставляет комплексный 2D API, который можно использовать в мобильных, серверных и настольных моделях для рендеринга изображений.
SkiaSharp предоставляет кроссплатформенные привязки для:
- .NET Стандарт 1.3
- .NET ядро
- Тизен
- Xamarin.Android
- Xamarin.iOS
- Xamarin.tvОС
- Xamarin.watchOS
- Xamarin.Mac
- Классический рабочий стол Windows (Windows.Forms/WPF)
- Windows UWP (настольный/мобильный/Xbox/HoloLens)
- Веб-сборка (WASM)
Документация по API доступна для просмотра в Интернете.
Процессор изображений
ImageProcessor — это набор облегченных библиотек, написанных на C#, который позволяет вам манипулировать изображениями на лету с помощью .NET 4.5+.
Он состоит из двух основных библиотек ImageProcessor — для использования на рабочем столе и в приложениях и ImageProcessor.Web — расширения для динамической обработки изображений, созданного для ASP.NET.
Он очень быстрый, расширяемый, простой в использовании, поставляется в комплекте с некоторыми замечательными функциями и полностью с открытым исходным кодом.
Если вам известна известная библиотека для обработки изображений, отличная от указанной выше, для использования с .NET или .NET Core, сообщите нам об этом ниже в комментариях.