Ресайз PNG картинок c прозрачностью в Thunar
Сегодня мне пришлось решить рутиную задачу - изменить размер PNG картинок не теряя при этом прозрачность. Искать какой либо софт было лень, поэтому решил написать bash скрипт, который всё сделает за меня.
Идея позаимствована с Crunchbang linux wiki.
Создаём папку ~/bin и там файлик resize.sh следующего содержимого:
#! /bin/sh for file; do if [ ! -e $file ]; then continue fi toname="./"$( echo $file | cut -f1 -d.)"_"$1".png" convert -channel A -geometry $1x$1 -quality 100 $file $toname done |
Делаем его выполняемым (chmod +x ~/bin/resize.sh), добавляем в ~/.bashrc export PATH=$PATH;~/bin чтобы мы могли вызывать это откуда нам вздумается и в терминале выполняем source ~/.bashrc чтобы наши изменения вступили в силу.
Теперь берём наш любимый файл-менеджер, например Thunar(стандартный в XFCE). Жмём правой кнопкой по картинкам, которые надо отресайзить, допустим до 32 пикселей, и "выбираем открыть с помощью".
Там нам надо выбрать пункт "комманда" и вписать туда: "resize.sh 32 %N". не забудте снять галочку "Использовать эту программу для запуска файлов такого типа", а то Thunar будет запускать ресайз PNG картинок, вместо например просмоторщика картинок xfce.
Всё, теперь у нас появится файл вида старый_файл_32.png. Причем эта команда действует даже для несколько выбранных одновременно картинок. И никакой потери прозрачности PNG!
Для JPG надо в скрипте менять расширение и убирать -channel A, который отвечает собственно за transparency(прозрачность). Для GIF картинок его скорее всего надо будет оставить.
Вот так. Пользуйтесь на здоровье.
Понравилась статья?
Нет обратных ссылок на эту запись.

Январь 15th, 2010 - 16:34
Знаем. ImageMagic — классный пакет