Пакетная обработка изображений - PullRequest
1 голос
/ 11 декабря 2008

Мне нужно ежедневно преобразовывать несколько сотен изображений определенным образом.

Мне нужен лучший бесплатный инструмент или фрагмент кода C #, который поддерживает пакетные водяные знаки, изменение размера изображений и может быть автоматизирован (старая конфигурация может быть повторно использована).

Какой инструмент вы предлагаете?

Ответы [ 6 ]

1 голос
/ 11 декабря 2008

IrfanView имеет довольно приличную поддержку пакетной обработки / преобразования изображений.

1 голос
/ 11 декабря 2008

Дейв Винер из scripting.com Слава о своем успехе в ImageMagick . Я думаю, что это бесплатно.

0 голосов
/ 12 декабря 2008

См. Преобразование IMG в http://www.abadev.com

0 голосов
/ 11 декабря 2008

Существует множество примеров таких манипуляций с изображениями в C #, это не очень сложно.

Вот две статьи от Джоэля Нойбека, которые изменяют размер и наносят водяной знак на изображение

http://www.codeproject.com/KB/GDI-plus/imageresize.aspx

http://www.codeproject.com/KB/GDI-plus/watermark.aspx

Вы можете собрать все это вместе и написать простую программу для обработки всех изображений при применении этих операций.

0 голосов
/ 11 декабря 2008

Посмотрите на коллекцию Netpbm . Он содержит более 300 инструментов и поддерживает сотни графических форматов. Вы можете легко поэкспериментировать с процессом, который вы хотите выполнить, используя инструменты один за другим, а затем связать их вместе в сценарий. Это открытый исходный код, поэтому, если вы хотите получить максимальную производительность, вы можете даже собрать вместе код, который вас интересует, в отдельной программе.

Обычно вы работаете с netpbm, комбинируя инструменты в конвейер. Таким образом, вы бы использовали pamscale для масштабирования вашего изображения и pamcomp для объединения результата с водяным знаком. Если водяной знак меняется в зависимости от каждого изображения, вы можете использовать pbmtext для его создания.

0 голосов
/ 11 декабря 2008

Если вы хотите развернуть свое собственное решение (и я предполагаю, что именно поэтому вы пометили вопрос «C #»), встроенные в каркас GDI + (System.Drawing и его дочерние элементы) довольно мощные, более чем достаточно чтобы выполнить то, что вам нужно. Преимущество этого подхода состоит в том, что вы можете определять свои собственные преобразования и применять их массово, если вы решите закодировать его таким образом.

...