Class: Media::InkscapeTransmogrifier
Instance Attribute Summary
#command_output, #input, #input_file, #input_type, #name, #options, #output, #output_file, #output_type
Instance Method Summary
collapse
add, #command_available?, #converts_from?, #converts_to?, find_class, inherited, #initialize, input_map, list, output_map, #run_command
Instance Method Details
#available? ⇒ Boolean
20
21
22
|
# File 'lib/media/transmogrifiers/inkscape.rb', line 20
def available?
command_available?(INKSCAPE_COMMAND) and magick and magick.available?
end
|
16
17
18
|
# File 'lib/media/transmogrifiers/inkscape.rb', line 16
def 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 magick
Media::Transmogrifier.list["Media::GraphicsMagickTransmogrifier"]
end
|
#output_types ⇒ Object
12
13
14
|
# File 'lib/media/transmogrifiers/inkscape.rb', line 12
def output_types
magick.output_types
end
|
#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 = magick.class.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
|