Манипулирование изображениями в asp.net/c# без System.Drawing/GDI+

StackOverflow https://stackoverflow.com/questions/13299

  •  08-06-2019
  •  | 
  •  

Вопрос

Есть ли альтернативная библиотека обработки изображений для .net?Я бы предпочел что-то управляемое и с открытым исходным кодом.

Я спрашиваю об этом по двум причинам:

  1. В прошлом я сталкивался с трудностями при отладке ошибок GDI+ с помощью System.Drawing.
  2. Я читал, что использование System.Drawing в веб-приложениях asp.net не поддерживается на 100%.

Спасибо!

редактировать:пояснение: я знаю, что System.Drawing может работать с веб-приложениями asp.net — я использовал его раньше.Мне действительно просто интересно, существуют ли какие-либо библиотеки управляемых манипуляций с изображениями для .net :)

Это было полезно?

Решение

Я не знаю ни одной полностью управляемой библиотеки 2D-рисунков, которая была бы бесплатной или с открытым исходным кодом (похоже, некоторые из них имеются в продаже, но лучше всего использовать OSS).Однако вы можете изучить Моно привязки в Каир.

Cairo — это независимый от платформы API для 2D-рисования.Более подробную информацию об этом вы можете найти на домашняя страница КаираСтраница Каира в Википедии также есть хорошая информация.

Cairo также довольно широко используется в мире открытого исходного кода, что, на мой взгляд, кое-что говорит о его надежности.Его используют, среди прочего, Mozilla, Webkit и Mono.По иронии судьбы, Mono фактически использует его для поддержки своей реализации System.Drawing...пойди разберись.

Также может быть способ использовать реализацию System.Drawing Mono в качестве замены реализации Microsoft, хотя я не уверен, как и будет ли это вообще работать.Я бы, вероятно, начал с замены ссылки на System.Drawing.dll версией Mono, а затем попытался устранить любые ошибки.

Другие советы

Вам следует изучить библиотеки изображений WPF, поставляемые с .NET 3.0.Они оптимизированы и надежны (используются для запуска Aero, поэтому вы знаете, что они эффективны).Они не зависят от диспетчера WPF, легко расширяются и официально поддерживаются.Чего еще можно хотеть?

Неофициальное свидетельство №1:Я без проблем использовал GDI+ для создания образов «на лету» в ASP.NET.Я даже не уверен, в чем могут быть проблемы.

Что касается (1), большинство ошибок, которые трудно отладить, связаны с тем, что открытые дескрипторы не закрываются (Dispose() в управляемой зоне).Мне любопытно, где вы услышали (2).

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top