mirror of
https://github.com/discourse/discourse.git
synced 2025-05-22 03:21:12 +08:00
FEATURE - ImageMagick jpeg quality (#11004)
* FEATURE - Add SiteSettings to control JPEG image quality `recompress_original_jpg_quality` - the maximum quality of a newly uploaded file. `image_preview_jpg_quality` - the maximum quality of OptimizedImages
This commit is contained in:
@ -123,6 +123,11 @@ RSpec.describe UploadCreator do
|
||||
end
|
||||
|
||||
describe 'converting to jpeg' do
|
||||
def image_quality(path)
|
||||
local_path = File.join(Rails.root, 'public', path)
|
||||
Discourse::Utils.execute_command("identify", "-format", "%Q", local_path).to_i
|
||||
end
|
||||
|
||||
let(:filename) { "should_be_jpeg.png" }
|
||||
let(:file) { file_from_fixtures(filename) }
|
||||
|
||||
@ -168,6 +173,21 @@ RSpec.describe UploadCreator do
|
||||
expect(File.extname(upload.url)).to eq('.jpeg')
|
||||
expect(upload.original_filename).to eq('should_be_jpeg.jpg')
|
||||
end
|
||||
|
||||
it 'should alter the image quality' do
|
||||
SiteSetting.png_to_jpg_quality = 75
|
||||
SiteSetting.recompress_original_jpg_quality = 40
|
||||
SiteSetting.image_preview_jpg_quality = 10
|
||||
|
||||
upload = UploadCreator.new(file, filename, force_optimize: true).create_for(user.id)
|
||||
|
||||
expect(image_quality(upload.url)).to eq(SiteSetting.recompress_original_jpg_quality)
|
||||
|
||||
upload.create_thumbnail!(100, 100)
|
||||
upload.reload
|
||||
|
||||
expect(image_quality(upload.optimized_images.first.url)).to eq(SiteSetting.image_preview_jpg_quality)
|
||||
end
|
||||
end
|
||||
|
||||
describe 'converting HEIF to jpeg' do
|
||||
|
Reference in New Issue
Block a user