Начиная с релиза 2022.3 мы добавили библиотеку Stimulsoft.Drawing. Это кроссплатформенный аналог библиотеки System.Drawing для использования с фреймворками .NET Core 3.1, .NET 5.0, .NET 6.0, .NET 7.0. Для обеспечения обратной совместимости при работе на Windows с помощью специальной опции можно переключиться на использование стандартной библиотеки System.Drawing. Ниже расскажем об этом подробнее.
Для чего нужна System.Drawing?
Графическая библиотека System.Drawing основана на системной библиотеке GDI+, которая имеет некоторые ограничения:

  • библиотека GDI+ входит в состав не всех версий Windows;

  • некоторые типы графики из библиотеки GDI+ (Font, Bitmap) не работают в Windows-службах и в приложениях ASP.NET Core;

  • на платформах Linux и macOS функции GDI+ реализуются библиотекой libgdiplus, которая поддерживает не все функции GDI+, и по умолчанию не установлена в большинстве версий Linux;

  • начиная с .NET 6.0 официально System.Drawing поддерживается только для операционных систем Windows.

Это всё описано на официальном сайте Microsoft.

Для решения описанных выше проблем и была создана наша библиотека Stimulsoft.Drawing, которая основана на платформо-независимых библиотеках ImageSharp и Fonts от компании SixLabors.

Где используется?
Библиотека Stimulsoft.Drawing входит в состав пакетов продуктов, где есть .NET Core-компоненты. Речь, конечно, идет о Reports.WEB и Dashboards.WEB, Reports.BLAZOR и Dashboards.BLAZOR, и Reports.ANGULAR.

Где скачать?
Загрузить пакеты продуктов вы можете с сайта нашей компании или с менеджера пакетов NuGet.

Как выбрать режим работы?
Библиотека Stimulsoft.Drawing сейчас применяется во всех наших .NET Core продуктах. По умолчанию, используется новый режим работы – свойство GraphicsEngine установлено в значение ImageSharp. Это сделано для более гибкой совместимости наших компонентов с различными операционными системами. Однако, если необходимо использовать именно стандартную библиотеку GDI+, то следует просто переустановить свойство GraphicsEngine в это значение. Например, Stimulsoft.Drawing.Graphics.GraphicsEngine = Stimulsoft.Drawing.GraphicsEngine.Gdi.
Мы подготовили короткое видео, наглядно демонстрирующее этот процесс.

Некоторые особенности
Stimulsoft.Drawing реализует не всю функциональность стандартной библиотеки. Если во время работы появляется ошибка «The method or operation is not implemented» – значит данная функциональность ещё не реализована. В этом случае советуем переключить режим работы библиотеки на GDI, т.е. установить свойство GraphicsEngine в значение GDI.
Используя этот сайт, вы соглашаетесь на использование файлов Cookie для аналитики и персонализированного контента. Файлы Cookie хранят полезную информацию на вашем компьютере, чтобы помочь нам повысить эффективность и удобство использования. Для получения дополнительной информации, пожалуйста, прочтите Конфиденциальность и Использование Cookie.