Пополняя свою коллекцию полезных скриптов, в добавок к Javascript-у, YAML-скрипту и Listing-cкрипту сегодня написал еще один Watermark-скрипт.
Как понятно из названия, он берет все jpg файлы из текущей папки и добавляет к ним одно изображение. Очень удобно для пакетной обработки файлов: можно поставить на все изображения URL вашего сайта, чтобы люди знали откуда сие добро взято.
Код простой, работает консольно без всякого вывода, однако для его запуска потребуется RMagick, а следовательно и ImageMagick тоже. Если вы используете нормальный сервер или одну из правильных OS, то проблем возникнуть не должно.
require 'RMagick'
wtm_file = 'watermark.png'
wtm = Magick::Image.read(wtm_file).first
Dir.open('./').each do |file|
next if file[-4..-1] != '.jpg'
next if file =~ /^..?$/
image = Magick::Image.read(file).first
image.composite!(wtm, Magick::CenterGravity,
Magick::HardLightCompositeOp)
out = file.sub(/./, "-wm.")
image.write(out)
end
Буду благодарен любым комментариям.