Class: Sorcery

Inherits:
Object
  • Object
show all
Defined in:
lib/gm_support.rb,
lib/image_sorcery.rb

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(file) ⇒ Sorcery

Returns a new instance of Sorcery.



4
5
6
# File 'lib/image_sorcery.rb', line 4

def initialize(file)
  @file = file
end

Class Method Details

.gm(file) ⇒ Object



9
10
11
12
13
# File 'lib/gm_support.rb', line 9

def gm file
  instance = new(file)
  instance.extend GmSupport
  instance
end

Instance Method Details

#convert(output, args = {}) ⇒ Object

Runs ImageMagick’s ‘convert’. See www.imagemagick.org/script/convert.php



23
24
25
26
27
28
29
30
31
# File 'lib/image_sorcery.rb', line 23

def convert(output, args={})
  tokens  = ["convert"]
  tokens << convert_to_arguments(args) if args
  tokens << " '#{@file}#{"[#{args[:layer].to_s}]" if args[:layer]}'"
  tokens << " #{output}"
  tokens  = convert_to_command(tokens)
  success = run(tokens)[1]
  success
end

#dimensionsObject

Return the x and y dimensions of an image as a hash.



47
48
49
50
51
# File 'lib/image_sorcery.rb', line 47

def dimensions
  dimensions = identify(:layer => 0, :format => "%wx%h").chomp.split("x")
  { :x => dimensions[0],
    :y => dimensions[1] }
end

#identify(args = {}) ⇒ Object

Runs ImageMagick’s ‘identify’. See www.imagemagick.org/script/identify.php



36
37
38
39
40
41
42
43
# File 'lib/image_sorcery.rb', line 36

def identify(args={})
  tokens = ["identify"]
  tokens << convert_to_arguments(args) if args
  tokens << " '#{@file}#{"[#{args[:layer].to_s}]" if args[:layer]}'"
  tokens  = convert_to_command(tokens)
  output  = run(tokens)[0]
  output
end

#manipulate!(args = {}) ⇒ Object

Runs ImageMagick’s ‘mogrify’. See www.imagemagick.org/script/mogrify.php



11
12
13
14
15
16
17
18
# File 'lib/image_sorcery.rb', line 11

def manipulate!(args={})
  tokens  = ["mogrify"]
  tokens << convert_to_arguments(args) if args
  tokens << " '#{@file}#{"[#{args[:layer].to_s}]" if args[:layer]}'"
  tokens  = convert_to_command(tokens)
  success = run(tokens)[1]
  success
end