Class: Lomo
- Inherits:
-
Object
- Object
- Lomo
- Defined in:
- lib/lomo.rb
Instance Attribute Summary collapse
-
#dest ⇒ Object
readonly
Returns the value of attribute dest.
-
#file ⇒ Object
readonly
Returns the value of attribute file.
-
#mask ⇒ Object
readonly
Returns the value of attribute mask.
Instance Method Summary collapse
-
#initialize(file) ⇒ Lomo
constructor
A new instance of Lomo.
- #process ⇒ Object
- #requirements ⇒ Object
- #usage ⇒ Object
Constructor Details
#initialize(file) ⇒ Lomo
Returns a new instance of Lomo.
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
# File 'lib/lomo.rb', line 6 def initialize(file) @file = File.(file) @dest = @file.sub /\.jpg$/i, "-lomo.png" @mask = File.join(File.dirname(__FILE__), "../img/mask.png") unless File.exists?(@file) usage exit end unless `convert --version`.match /ImageMagick/ requirements exit end end |
Instance Attribute Details
#dest ⇒ Object (readonly)
Returns the value of attribute dest.
3 4 5 |
# File 'lib/lomo.rb', line 3 def dest @dest end |
#file ⇒ Object (readonly)
Returns the value of attribute file.
2 3 4 |
# File 'lib/lomo.rb', line 2 def file @file end |
#mask ⇒ Object (readonly)
Returns the value of attribute mask.
4 5 6 |
# File 'lib/lomo.rb', line 4 def mask @mask end |
Instance Method Details
#process ⇒ Object
42 43 44 45 46 47 48 49 50 51 52 53 |
# File 'lib/lomo.rb', line 42 def process `cp #{file} #{dest}` `convert -resize 1024x768 #{dest} #{dest}` `cp #{dest} #{dest}-resized` `convert -unsharp 1 #{dest} #{dest}` `convert -contrast -contrast #{dest} #{dest}` `convert -modulate 100,150 #{dest} #{dest}` `composite -compose overlay #{mask} #{dest} #{dest}` `composite -compose multiply #{dest}-resized #{dest} #{dest}` `rm #{dest}-resized` `open #{dest}` if RUBY_PLATFORM.match /darwin/ end |
#requirements ⇒ Object
33 34 35 36 37 38 39 40 |
# File 'lib/lomo.rb', line 33 def requirements puts <<-eos Requirements: This filter makes use of ImageMagick. It runs convert and composite with different parameters, so it won't work unless those commands are available. eos end |
#usage ⇒ Object
22 23 24 25 26 27 28 29 30 31 |
# File 'lib/lomo.rb', line 22 def usage puts <<-eos Usage: lomo path_to_image.jpg It will generate a 1024x768 version of the image with the lomo filter applied. ImageMagick is required for this to work. eos end |