FIX: Compatibility with ImageMagick 7.
http://www.imagemagick.org/Usage/misc/ "The "-interpolate" setting of 'Catrom' (generally imprecisely known as 'BiCubic' interpolation)"
This commit is contained in:
parent
37a01975e9
commit
5778c33ee7
|
@ -145,7 +145,7 @@ class OptimizedImage < ActiveRecord::Base
|
|||
-background transparent
|
||||
-#{thumbnail_or_resize} #{dimensions}^
|
||||
-extent #{dimensions}
|
||||
-interpolate bicubic
|
||||
-interpolate catrom
|
||||
-unsharp 2x0.5+0.7+0
|
||||
-interlace none
|
||||
-quality 98
|
||||
|
|
|
@ -241,13 +241,13 @@ class UploadCreator
|
|||
when "profile_background"
|
||||
max_width = 850 * max_pixel_ratio
|
||||
width, height = ImageSizer.resize(@image_info.size[0], @image_info.size[1], max_width: max_width, max_height: max_width)
|
||||
OptimizedImage.downsize(@file.path, @file.path, "#{width}x#{height}\\>", filename: @filename, allow_animation: allow_animation)
|
||||
OptimizedImage.downsize(@file.path, @file.path, "#{width}x#{height}" + '>', filename: @filename, allow_animation: allow_animation)
|
||||
when "card_background"
|
||||
max_width = 590 * max_pixel_ratio
|
||||
width, height = ImageSizer.resize(@image_info.size[0], @image_info.size[1], max_width: max_width, max_height: max_width)
|
||||
OptimizedImage.downsize(@file.path, @file.path, "#{width}x#{height}\\>", filename: @filename, allow_animation: allow_animation)
|
||||
OptimizedImage.downsize(@file.path, @file.path, "#{width}x#{height}" + '>', filename: @filename, allow_animation: allow_animation)
|
||||
when "custom_emoji"
|
||||
OptimizedImage.downsize(@file.path, @file.path, "100x100\\>", filename: @filename, allow_animation: allow_animation)
|
||||
OptimizedImage.downsize(@file.path, @file.path, '100x100>', filename: @filename, allow_animation: allow_animation)
|
||||
end
|
||||
|
||||
extract_image_info!
|
||||
|
|
Binary file not shown.
After Width: | Height: | Size: 113 B |
Binary file not shown.
After Width: | Height: | Size: 2.3 KiB |
Binary file not shown.
After Width: | Height: | Size: 199 B |
|
@ -1,10 +1,71 @@
|
|||
require 'rails_helper'
|
||||
|
||||
describe OptimizedImage do
|
||||
|
||||
let(:upload) { build(:upload) }
|
||||
before { upload.id = 42 }
|
||||
|
||||
describe '.crop' do
|
||||
it 'should work correctly' do
|
||||
tmp_path = "/tmp/cropped.png"
|
||||
|
||||
begin
|
||||
OptimizedImage.crop(
|
||||
"#{Rails.root}/spec/fixtures/images/logo.png",
|
||||
tmp_path,
|
||||
5,
|
||||
5
|
||||
)
|
||||
|
||||
expect(File.read(tmp_path)).to eq(
|
||||
File.read("#{Rails.root}/spec/fixtures/images/cropped.png")
|
||||
)
|
||||
ensure
|
||||
File.delete(tmp_path) if File.exists?(tmp_path)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
describe '.resize' do
|
||||
it 'should work correctly' do
|
||||
tmp_path = "/tmp/resized.png"
|
||||
|
||||
begin
|
||||
OptimizedImage.resize(
|
||||
"#{Rails.root}/spec/fixtures/images/logo.png",
|
||||
tmp_path,
|
||||
5,
|
||||
5
|
||||
)
|
||||
|
||||
expect(File.read(tmp_path)).to eq(
|
||||
File.read("#{Rails.root}/spec/fixtures/images/resized.png")
|
||||
)
|
||||
ensure
|
||||
File.delete(tmp_path) if File.exists?(tmp_path)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
describe '.downsize' do
|
||||
it 'should work correctly' do
|
||||
tmp_path = "/tmp/downsized.png"
|
||||
|
||||
begin
|
||||
OptimizedImage.downsize(
|
||||
"#{Rails.root}/spec/fixtures/images/logo.png",
|
||||
tmp_path,
|
||||
'100x100>'
|
||||
)
|
||||
|
||||
expect(File.read(tmp_path)).to eq(
|
||||
File.read("#{Rails.root}/spec/fixtures/images/downsized.png")
|
||||
)
|
||||
ensure
|
||||
File.delete(tmp_path) if File.exists?(tmp_path)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
describe ".safe_path?" do
|
||||
|
||||
it "correctly detects unsafe paths" do
|
||||
|
|
Loading…
Reference in New Issue