Tworzenie ramek z RMagick

Zdjęcia w ramkach wyglądają w ogromnej większości wypadków lepiej niż bez. Z tego powodu warto przed jakimkolwiek umieszczeniem je w takowe wyposażyć (pomijam już w ogóle takie oczywiste rzeczy jak przeprowadzenie porządnej selekcji, poprawienie kolorystyki, kontrastu, kadru, etc.). Ponieważ przydarzyło mi się dzisiaj wrzucać na obieżyświata większą ich ilość, to napisałem krótki skrypt w Rubym, który wykona za mnie tę robotę dla głupiego.

Skrypt dodaje najpierw obramowanie białe o szerokości 2 pikseli, a potem takie samo czarne. Listę plików bierze oczywiscie jako argumenty z linii poleceń. So, without further ado:


require 'rubygems'
require 'RMagick'

ARGV.each do |filename|
  original = Magick::ImageList.new(filename)
  bcg_white = Magick::Image.new(original.columns+4, original.rows+4) {
    self.background_color = "white" 
  }
  bcg_black = Magick::Image.new(original.columns+8, original.rows+8) {
    self.background_color = "black" 
  }
  result = bcg_black.composite(bcg_white, Magick::CenterGravity, Magick::OverCompositeOp)
  result = result.composite(original, Magick::CenterGravity, Magick::OverCompositeOp)
  result.write('br_'+filename+'.jpg')
end

O wpisie