convert
Текст в картинку (делаем скриншот консоли)
Учитываются системные шрифты, а вот цветовые схемы консоли не работают
$ ifconfig | convert label:@- ip.png $ ping -c 5 ya.ru | convert label:@- ya.png $ echo "Hello World" | convert label:@- hello.png
массовая манипуляция с графическими файлами через терминал
Бывает так, что нужно каким-либо образом преобразовать множество графических файлов, но не хочется это делать вручную, так как файлов может быть очень много. Столкнувшись с такой проблемой, поиски привели к пакету imagemagick, при работе с которым, хоть и можно использовать Иксы, предпочтение отдаётся терминальным командам и утилитам.
Оптимизация размера png
При работе с .png изображениями иногда проходят чудеса:
$ ls -l screen-split* -rw-r--r-- 1 ramok ramok 51819 Авг 20 21:30 screen-split.png $ convert -resize 640x480 screen-split.png screen-split.thumbnails.png $ ls -l screen-split* -rw-r--r-- 1 ramok ramok 51819 Авг 20 21:30 screen-split.png -rw-rw-r-- 1 ramok ramok 836526 Авг 21 21:54 screen-split.thumbnails.png
Как видно уменьшив разрешение картики, размер увеличился в 16 раз. Почему это происходит точно я не знаю, говорят что то о неиндексиованной палитре.
Но с этим боротся можно специальными оптимизаторами .png
$ pngnq screen-split.thumbnails.png $ ls -l screen-split* -rw-r--r-- 1 ramok ramok 51819 Авг 20 21:30 screen-split.png -rw-rw-r-- 1 ramok ramok 112174 Авг 21 21:54 screen-split.thumbnails-nq8.png -rw-rw-r-- 1 ramok ramok 836526 Авг 21 21:54 screen-split.thumbnails.png
Сканирование и послеобработка изображений из командной строки
Возникла необходимость отсканировать пару страничек с паспорта и отослать по почте. Задача решилась таким вот способом.
# настраиваем сканер $ sudo apt-get install sane libsane $ rehash $ sudo sane-find-scanner -q found USB scanner (vendor=0x04a9 [Canon], product=0x220e [CanoScan], chip=LM9832/3) at libusb:004:004 $ sudo scanimage -L device `plustek:libusb:004:004' is a Canon CanoScan N1240U/LiDE30 flatbed scanner # сканируем две странички паспорта в out1.pnm и out2.pnm $ sudo xscanimage # конвертим .pnm в .jpg $ convert out1.pnm ukr-pass-1.jpg $ convert out2.pnm ukr-pass-2.jpg # проверяем что получилось $ feh ukr-pass*.jpg # поворачиваем на 180 градусов если надо. (повернуть фотографии можно и прямо в feh) $ convert -rotate 180 ukr-pass-2.jpg ukr-pass-2.jpg # сливаем два изображения в одно $ montage -adjoin -geometry 1024x768 ukr-pass-1.jpg ukr-pass-2.jpg ukr-pass.jpg # почистим за собой $ rm out1.pnm out2.pnm ukr-pass-1.jpg ukr-pass-2.jpg # отошлем сканы $ mutt -a ukr-pass.jpg
Подготовка фото для выкладывания в сеть
У вас есть коллекция фото в цифровом формате, немного места назнакомов www или ftp сервере и вы хотите поделиться этими фотками с друзьями. Это можно сделать, НО... как правило фото имеют весьма большие размеры. Уменьшить фоту можно примерно так: заходите в каталог где лежат ваши нетленные творения и набираете команду
for i in *.jpg; do convert -resize 640x480 -quality 85 $i small-$i.jpg; done
Утилита convert идет в составе программы ImageMagick. Данная команда читает все файлы с суффиксом jpg в текущем каталоге, приводит из к размероу 640х480 и записывает с префиксом small-.У вас есть коллекция фото в цифровом формате, немного места на знакомом www или ftp сервере и вы хотите поделиться этими фотками с друзьями. Это можно сделать, НО... как правило фото имеют весьма большие размеры. Уменьшить фоту можно примерно так: заходите в каталог где лежат ваши нетленные творения и набираете команду


