воскресенье, 18 ноября 2012 г.

Меняем цвета в изображении.

Произошла оказия - перестал печатать черный цвет на струйном принтере.

Цветной картридж работает без проблем, а вот черный не хочет. То ли с печатающей головкой что случилось, то ли что-то где-то засохло, то ли еще что. Не знаю. Не разбираюсь в этом. А так как я себе ставил в свое время СНПЧ, то остатков разной краски у меня сейчас много. Принтер недорогой и даже не знаю что дешевле целесообразней: купить новый или отремонтировать этот.

Впрочем хватит стонать и жаловаться, ниже пример, как перевести весь черный цвет изображения в какой-либо другой чтобы задействовать только цветной картридж при печати. Будем использовать ImageMagick. Командой ниже меняем весь черный цвет в navyblue.

$ convert in.png +level-colors navyblue,white out.png

А вот и скрипт для пакетной обработки изображений в каталоге:

#!/bin/bash

IN=Black
OUT=Blue

for image in $IN/*; do

    image=$(basename "$image")

    if [ ! -e "$OUT/$image" ]; then
        echo Processing $image $(date) >> converter.log
        convert "$IN/$image" +level-colors navyblue,white "$OUT/$image"
    fi

done

Еще ниже примеры, что было и что стало после выполнения команды:


Оригинал

Результат преобразования


Update1: Добавлю сюда же, преобразование файла PDF в набор графических файлов:

$ ghostscript -r150 -dBATCH -dNOPAUSE -sDEVICE=png16m \
    -sOutputFile="%03d.png" filename.pdf

Update2: Команда для того чтобы собрать набор графических файлов в PDF (предполагаю, что имена файлов отсортированы в алфавитном порядке):

$ convert *.png newpdf.pdf

Комментариев нет:

Отправить комментарий