Автор: Alex Markus

Все статьи
Начиная с релиза 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.
By using this website, you agree to the use of cookies for analytics and personalized content. Cookies store useful information on your computer to help us improve efficiency and usability. For more information, please read the privacy policy and cookie policy.