Class: Media::InkscapeTransmogrifier
Instance Attribute Summary
#command_output, #input, #input_file, #input_type, #options, #output, #output_file, #output_type
Class Method Summary
collapse
Instance Method Summary
collapse
add, command_available?, converts_from?, converts_to?, find_class, inherited, #initialize, input_map, list, output_map, #run_command, run_command
Class Method Details
.available? ⇒ Boolean
20
21
22
|
# File 'lib/media/transmogrifiers/inkscape.rb', line 20
def self.available?
command_available?(INKSCAPE_COMMAND) and magick and magick.available?
end
|
16
17
18
|
# File 'lib/media/transmogrifiers/inkscape.rb', line 16
def self.input_types
%w(image/svg+xml image/svg+xml-compressed application/illustrator image/bzeps image/eps image/gzeps)
end
|
.magick ⇒ Object
8
9
10
|
# File 'lib/media/transmogrifiers/inkscape.rb', line 8
def self.magick
Media::Transmogrifier.list["Media::GraphicsMagickTransmogrifier"]
end
|
.output_types ⇒ Object
12
13
14
|
# File 'lib/media/transmogrifiers/inkscape.rb', line 12
def self.output_types
magick.output_types
end
|
Instance Method Details
#run(&block) ⇒ Object
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
# File 'lib/media/transmogrifiers/inkscape.rb', line 24
def run(&block)
if output_type == 'image/png' and options.empty?
arguments = [INKSCAPE_COMMAND, '--without-gui', '--export-area-drawing', '--export-area-snap', input_file, '--export-png', output_file]
run_command(*arguments, &block)
else
png_output_file = Media::TempFile.new(nil, "image/png")
arguments = [INKSCAPE_COMMAND, '--without-gui', '--export-area-drawing', '--export-area-snap', input_file, '--export-png', png_output_file]
status = run_command(*arguments, &block)
return status if status != :success
magick_transmog = self.class.magick.new(
options.merge({
input_file: png_output_file, input_type: "image/png",
output_file: output_file, output_type: output_type
})
)
magick_transmog.run(&block)
end
end
|