Как преобразовать несколько файлов .jpg в файлы .eps в Linux?
Преобразовать .jpg в формат .eps
Ответ 1
При использовании преобразования ImageMagick рекомендуется использовать формат eps2. Это делает результирующий файл eps намного меньшим, поскольку использует алгоритм сжатия JPEG (DCT).
Итак, чтобы преобразовать a.jpg
в a.eps
сделать:
convert a.jpg eps2:a.eps
Это, конечно, можно использовать в оболочке script для преобразования нескольких JPG в EPS.
Ответ 2
Вы можете использовать множество инструментов. Я рекомендую использовать команду convert
из ImageMagick.
#!/bin/bash
# example 1
convert myfile.jpg myfile.eps
# example 2
for file in file1.jpg file2.jpg file3.jpg; do
echo convert "$file" $(echo "$file" | sed 's/\.jpg$/\.eps/')
done
Чтобы выполнить пример 2, вам нужно удалить echo
внутри for
-loop. Убедитесь, что команды, которые он выводит, верны до, удалив его.
Ответ 3
В соответствии с user1958943, я также использовал инструмент преобразования. Однако, поскольку формат eps3 дает еще лучшее сжатие с таким же качеством, как eps2, я предлагаю использовать
convert a.jpg eps3:a.eps
Кстати, этот инструмент также работает для png файлов (а также других)...
Кто-нибудь знает, какое сжатие использует eps3?
Ответ 4
Другим вариантом является объединение jpegtopnm и pnmtops из инструментария netpbm. Это, однако, будет производить PS, а не EPS.
for f in *.jpg
do
g=`echo "$f" | sed 's/\.jpg$/\.eps/'`
echo "$f -> $g" 1>&2
jpegtopnm $f | pnmtops > $g
done
Ответ 5
ImageMagick convert может сделать это для вас.
Ответ 6
Я делаю это часто, а иногда и в Windows. Следовательно, я написал небольшой онлайн-конвертер, который использует convert:
Надеюсь, это также поможет другим.