commit: 78d772af862c536b2e985977b6ba549efe668fe0
parent: e9e475a29d7b5039c8ce14de4cef7e4f54fb7b0e
Author: Eugen Rochko <eugen@zeonfederated.com>
Date: Tue, 6 Mar 2018 06:29:01 +0100
Fix #3807: Increase avatars to 400x400 max (#6651)
But do not upscale when they are smaller
Diffstat:
2 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/app/models/concerns/account_avatar.rb b/app/models/concerns/account_avatar.rb
@@ -7,8 +7,8 @@ module AccountAvatar
class_methods do
def avatar_styles(file)
- styles = { original: { geometry: '120x120#', file_geometry_parser: FastGeometryParser } }
- styles[:static] = { geometry: '120x120#', format: 'png', convert_options: '-coalesce', file_geometry_parser: FastGeometryParser } if file.content_type == 'image/gif'
+ styles = { original: { geometry: '400x400#', file_geometry_parser: FastGeometryParser } }
+ styles[:static] = { geometry: '400x400#', format: 'png', convert_options: '-coalesce', file_geometry_parser: FastGeometryParser } if file.content_type == 'image/gif'
styles
end
diff --git a/lib/paperclip/lazy_thumbnail.rb b/lib/paperclip/lazy_thumbnail.rb
@@ -4,6 +4,10 @@ module Paperclip
class LazyThumbnail < Paperclip::Thumbnail
def make
return File.open(@file.path) unless needs_convert?
+
+ min_side = [@current_geometry.width, @current_geometry.height].min
+ options[:geometry] = "#{min_side.to_i}x#{min_side.to_i}#" if @target_geometry.square? && min_side < @target_geometry.width
+
Paperclip::Thumbnail.make(file, options, attachment)
end