dynamic_image 2.0.22 → 2.0.23

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: bfb9c218b8902487079281c04685088ba37cee03ba5944425c8e391869ed1f54
4
- data.tar.gz: 6be8904c347f0721fe0d52f4693c65c7a7c96d77d81b169c00b83859df46c741
3
+ metadata.gz: 2a9eeb1b5378e17d2dcf9d6c0245df5386a1253dfdbefd0fff61fd5faeb2a1ee
4
+ data.tar.gz: 3156acfe1931d9530dc5c23d51716904feb2f1f16f00657cd9aa52c61d97cf94
5
5
  SHA512:
6
- metadata.gz: 712f4d5d9077baec9e3f67d01ae686a38ef380686a37a5c6c91b2e0d27db50e2623cd30c3b25e107a3b03fc6e0712fe20bc0643fc47ae73473ee735e94d031b5
7
- data.tar.gz: 8ef5cd0021f2d32bc0876923c19f9e059edd5fdb52e06893cbab4dc4d739f72551f5bf53da8ee0007854f78d2cb5cc1de157542e40be9d27b17c6eeee735ccdb
6
+ metadata.gz: d3c0d2fd1e238b181b8d7cd86ebb12c65ebbe37e606bf434c969584def13b968e0bbd66b845b553d65c7d8e9245f20a066b88ee66f523de87391adf285aa194a
7
+ data.tar.gz: 51eda1715d2eb18931256018f95dfe9f714817bda16601d5c1ded50778cc4a0a31d27ec00ffe3287a88205e1c49cea09c0d159594c8552a2a94084821ff403c1
@@ -43,7 +43,7 @@ module DynamicImage
43
43
  # Normalizes the image.
44
44
  #
45
45
  # * Applies EXIF rotation
46
- # * CMYK images are converted to sRGB
46
+ # * Converts to sRGB
47
47
  # * Strips metadata
48
48
  # * Optimizes GIFs
49
49
  # * Performs format conversion if the requested format is different
@@ -59,7 +59,7 @@ module DynamicImage
59
59
  process_data do |image|
60
60
  image.combine_options do |combined|
61
61
  combined.auto_orient
62
- combined.colorspace("sRGB") if needs_colorspace_conversion?
62
+ convert_to_srgb(image, combined)
63
63
  yield(combined) if block_given?
64
64
  optimize(combined)
65
65
  end
@@ -73,6 +73,11 @@ module DynamicImage
73
73
  gif? ? DynamicImage::ImageReader.new(image.coalesce.to_blob).read : image
74
74
  end
75
75
 
76
+ def convert_to_srgb(image, combined)
77
+ combined.profile(srgb_profile) if image.data["profiles"].present?
78
+ combined.colorspace("sRGB") if record.cmyk?
79
+ end
80
+
76
81
  def create_variant(size)
77
82
  record.variants.create(
78
83
  variant_params(size).merge(filename: record.filename,
@@ -113,10 +118,6 @@ module DynamicImage
113
118
  DynamicImage::ImageSizing.new(record, uncropped: @uncropped)
114
119
  end
115
120
 
116
- def needs_colorspace_conversion?
117
- record.cmyk?
118
- end
119
-
120
121
  def needs_format_conversion?
121
122
  format != record_format
122
123
  end
@@ -139,12 +140,8 @@ module DynamicImage
139
140
  attr_reader :record
140
141
 
141
142
  def record_format
142
- { "image/bmp" => "BMP",
143
- "image/png" => "PNG",
144
- "image/gif" => "GIF",
145
- "image/jpeg" => "JPEG",
146
- "image/pjpeg" => "JPEG",
147
- "image/tiff" => "TIFF",
143
+ { "image/bmp" => "BMP", "image/png" => "PNG", "image/gif" => "GIF",
144
+ "image/jpeg" => "JPEG", "image/pjpeg" => "JPEG", "image/tiff" => "TIFF",
148
145
  "image/webp" => "WEBP" }[record.content_type]
149
146
  end
150
147
 
@@ -152,6 +149,10 @@ module DynamicImage
152
149
  raise DynamicImage::Errors::InvalidImage unless record.valid?
153
150
  end
154
151
 
152
+ def srgb_profile
153
+ File.join(File.dirname(__FILE__), "profiles/sRGB_ICC_v4_Appearance.icc")
154
+ end
155
+
155
156
  def variant_params(size)
156
157
  crop_size, crop_start = image_sizing.crop_geometry(size)
157
158
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module DynamicImage
4
- VERSION = "2.0.22"
4
+ VERSION = "2.0.23"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dynamic_image
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.22
4
+ version: 2.0.23
5
5
  platform: ruby
6
6
  authors:
7
7
  - Inge Jørgensen
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-06-12 00:00:00.000000000 Z
11
+ date: 2020-06-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: dis
@@ -162,6 +162,7 @@ files:
162
162
  - lib/dynamic_image/model/validations.rb
163
163
  - lib/dynamic_image/model/variants.rb
164
164
  - lib/dynamic_image/processed_image.rb
165
+ - lib/dynamic_image/profiles/sRGB_ICC_v4_Appearance.icc
165
166
  - lib/dynamic_image/routing.rb
166
167
  - lib/dynamic_image/templates/show.html.erb
167
168
  - lib/dynamic_image/version.rb