Работа с изображениями в asp.net/c# без System.Drawing / GDI + - PullRequest
10 голосов
/ 16 августа 2008

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

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

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

Спасибо!

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

Ответы [ 4 ]

4 голосов
/ 19 декабря 2008

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

2 голосов
/ 26 сентября 2008

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

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

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

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

1 голос
/ 17 августа 2008

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

0 голосов
/ 17 августа 2008

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

...