Сведения о вопросе

Life

09:48, 29th August, 2020

Теги

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

Просмотров: 462   Ответов: 4

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

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

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

Спасибо!

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



  Сведения об ответе

COOL

05:05, 24th August, 2020

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


  Сведения об ответе

JUST___

14:29, 2nd August, 2020

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

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

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

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


  Сведения об ответе

padenie

21:29, 26th August, 2020

Анекдотические свидетельства #1: я использовал GDI+ для создания on-the-fly изображений в пределах ASP.NET без каких-либо проблем. Я даже не знаю, в чем будут заключаться эти проблемы.


  Сведения об ответе

ЯЯ__4

08:18, 28th August, 2020

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


Ответить на вопрос

Чтобы ответить на вопрос вам нужно войти в систему или зарегистрироваться