Сжатие изображений в C#.Net

Я работаю над созданием библиотеки манипулирования изображениями, используя С# с MVC3. Существует вариант, при котором пользователи будут загружать несколько файлов. Эти файлы необходимо сжимать при передаче на сервер, чтобы сократить время загрузки и использование полосы пропускания. Мы не хотим идти на компромисс с качеством и размером изображений, но хотим сжимать изображения. Может ли кто-нибудь предоставить ссылки на статьи, которые могут быть полезны для сжатия изображений, но с сохранением их размеров и качества.


person Anil C    schedule 26.04.2011    source источник
comment
если вы работаете с bmp, лучше всего их заархивировать. Другие форматы изображений, как правило, уже сжаты.   -  person Felice Pollano    schedule 26.04.2011
comment
Какова цель сжатия? Строго для экономии дискового пространства на сервере или также для сокращения времени загрузки и использования полосы пропускания?   -  person Brook    schedule 26.04.2011
comment
@Brook - цель состоит в том, чтобы сократить время загрузки и использование полосы пропускания.   -  person Anil C    schedule 26.04.2011
comment
@Anil C: В таком случае единственный способ добиться этого с помощью C # - это сделать это в Silverlight, так как вам нужно сжать его в браузере перед отправкой. Другим вариантом было бы использовать flash, java-апплет или (тьфу) элемент управления ActiveX. Вы должны обновить свой вопрос, чтобы указать это, поскольку это немного меняет ситуацию.   -  person Brook    schedule 26.04.2011
comment
@Brook, пожалуйста, предложите несколько ссылок.   -  person Anil C    schedule 26.04.2011
comment
@Anil C: я уже сделал, см. мой ответ ниже.   -  person Brook    schedule 26.04.2011
comment
Таким образом, в основном возникает вопрос: «Как я могу сжать файлы перед их загрузкой из браузера». Хороший ответ, Брук.   -  person codeulike    schedule 26.04.2011


Ответы (1)


Посмотрите на существующий загрузчик со сжатием. Вот несколько

silverlightfileupld (Silverlight)

flexupload (Flash)

person Brook    schedule 26.04.2011
comment
+1, как указал мне Брук в моем (удаленном) ответе, сжатие файлов в браузере перед их загрузкой нетривиально, потому что javascript не может получить доступ к файлу для его сжатия. Следовательно, решение flash или silverlight — это то, что вам нужно. - person codeulike; 26.04.2011
comment
Спасибо за ваш ценный вклад, но я боюсь, что смогу использовать вышеуказанные элементы управления, поскольку мой проект разрабатывается в MVC 3 (Razor), и нет возможности использовать элементы управления на стороне сервера. Какие-либо предложения? - person Anil C; 26.04.2011
comment
@Anil C: Оба вышеперечисленных элемента управления можно использовать с MVC 3 и Razor, но для их работы потребуются достаточные знания html, javascript, http и MVC. - person Brook; 26.04.2011
comment
Спасибо за ваш вклад. Я попытаюсь реализовать вышеуказанные элементы управления. - person Anil C; 27.04.2011