diff --git a/a2png b/a2png index 3e6c81b..9099a8f 160000 --- a/a2png +++ b/a2png @@ -1 +1 @@ -Subproject commit 3e6c81b8751074ef3d0160e9586b78b2293e169e +Subproject commit 9099a8fa26f79f73c58ceeb88276e9c539251bb0 diff --git a/app/services/asciicast_image_generator.rb b/app/services/asciicast_image_generator.rb index c065baa..8168a9e 100644 --- a/app/services/asciicast_image_generator.rb +++ b/app/services/asciicast_image_generator.rb @@ -14,8 +14,9 @@ class AsciicastImageGenerator asciicast_url = asciicast.file.absolute_url image_path = "#{dir}/#{asciicast.image_filename}" time = asciicast.snapshot_at || asciicast.duration / 2 + theme = AsciicastDecorator.new(asciicast).theme_name - generate_png_file(asciicast_url, image_path, time) + rasterizer.generate_image(asciicast_url, image_path, time, PIXEL_DENSITY, theme) image_width, image_height = get_size(image_path) update_asciicast(asciicast, image_path, image_width, image_height) @@ -24,10 +25,6 @@ class AsciicastImageGenerator private - def generate_png_file(asciicast_url, image_path, time) - rasterizer.generate_image(asciicast_url, image_path, time) - end - def get_size(image_path) width, height = image_inspector.get_size(image_path) diff --git a/app/services/rasterizer.rb b/app/services/rasterizer.rb index 7cfca71..bc7df00 100644 --- a/app/services/rasterizer.rb +++ b/app/services/rasterizer.rb @@ -4,8 +4,8 @@ class Rasterizer BINARY_PATH = (Rails.root + "a2png" + "a2png.sh").to_s - def generate_image(asciicast_url, out_path, time) - o, e, t = Open3.capture3("#{BINARY_PATH} '#{asciicast_url}' #{out_path} #{time}") + def generate_image(asciicast_url, out_path, time, scale, theme) + o, e, t = Open3.capture3("#{BINARY_PATH} -s #{scale} -t #{theme} '#{asciicast_url}' '#{out_path}' #{time}") if t.exitstatus != 0 raise RuntimeError, "Couldn't generate image from #{asciicast_url}:\n#{o}\n#{e}" diff --git a/spec/services/asciicast_image_generator_spec.rb b/spec/services/asciicast_image_generator_spec.rb index c9313ee..a291d62 100644 --- a/spec/services/asciicast_image_generator_spec.rb +++ b/spec/services/asciicast_image_generator_spec.rb @@ -9,7 +9,7 @@ describe AsciicastImageGenerator, needs_phantomjs_2_bin: true do let(:asciicast) { create( :asciicast, - theme_name: 'tango', + theme_name: 'asciinema', file: Asciinema::FixtureHelpers.fixture_file('1/screenshot.json', 'application/json') ) }