optimize pdf images
This commit is contained in:
@@ -374,7 +374,13 @@ module Submissions
|
|||||||
scale = [600.0 / image.width, 600.0 / image.height].min
|
scale = [600.0 / image.width, 600.0 / image.height].min
|
||||||
|
|
||||||
resized_image = image.resize([scale, 1].min)
|
resized_image = image.resize([scale, 1].min)
|
||||||
io = StringIO.new(resized_image.write_to_buffer('.png'))
|
|
||||||
|
io =
|
||||||
|
if field['type'] == 'image' && !resized_image.has_alpha?
|
||||||
|
StringIO.new(resized_image.colourspace(:srgb).write_to_buffer('.jpg', strip: true))
|
||||||
|
else
|
||||||
|
StringIO.new(resized_image.write_to_buffer('.png'))
|
||||||
|
end
|
||||||
|
|
||||||
width = field['type'] == 'initials' ? 50 : 200
|
width = field['type'] == 'initials' ? 50 : 200
|
||||||
height = resized_image.height * (width.to_f / resized_image.width)
|
height = resized_image.height * (width.to_f / resized_image.width)
|
||||||
|
|||||||
@@ -462,7 +462,14 @@ module Submissions
|
|||||||
scale = [(area['w'] * width) / image.width,
|
scale = [(area['w'] * width) / image.width,
|
||||||
(area['h'] * height) / image.height].min
|
(area['h'] * height) / image.height].min
|
||||||
|
|
||||||
io = StringIO.new(image.resize([scale * 4, 1].select(&:positive?).min).write_to_buffer('.png'))
|
resized_image = image.resize([scale * 4, 1].select(&:positive?).min)
|
||||||
|
|
||||||
|
io =
|
||||||
|
if field_type == 'image' && !resized_image.has_alpha?
|
||||||
|
StringIO.new(resized_image.colourspace(:srgb).write_to_buffer('.jpg', strip: true))
|
||||||
|
else
|
||||||
|
StringIO.new(resized_image.write_to_buffer('.png'))
|
||||||
|
end
|
||||||
|
|
||||||
canvas.image(
|
canvas.image(
|
||||||
io,
|
io,
|
||||||
|
|||||||
Reference in New Issue
Block a user