image_processing 1.12.2 → 1.13.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +8 -0
- data/README.md +1 -1
- data/lib/image_processing/mini_magick.rb +11 -1
- data/lib/image_processing/version.rb +1 -1
- data/lib/image_processing/vips.rb +23 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: fa60a0e94436db0e6f672a321162282b92fff25b9acac0031d11f8e75bd46bee
|
4
|
+
data.tar.gz: f6f2cc0a61658d8a3db0883b4bdf7b9ec6421d29b74ce22ca1fee5ea2ff58d94
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7220163f9f2572070de49f84ac4a9051433c504c44c6925660bcac162855b38920691d6e661deeeee3b2b6238f8a78cc4881dd10e539136bf02bef01ff05cca0
|
7
|
+
data.tar.gz: 9b21b5d109a9e7f8b116cccbf347809a2943171e959e8c1efc9797fcc133759c34ee83148601aa3f413f7e972b12a1803b4229f2b27835c35ab745fe39b0011f
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,11 @@
|
|
1
|
+
## 1.13.0 (2024-07-24)
|
2
|
+
|
3
|
+
* [minimagick] Use `-append` when calling `#append` with no arguments (@janko)
|
4
|
+
|
5
|
+
* [vips] Avoid lines on the side when rotating by multiples of 90 degrees (@etherbob)
|
6
|
+
|
7
|
+
* Add `#resize_to_cover` that allows resizing an image to cover a given rectangle without cropping the excess (@brendon)
|
8
|
+
|
1
9
|
## 1.12.2 (2022-03-01)
|
2
10
|
|
3
11
|
* Prevent remote shell execution when using `#apply` with operations coming from user input (@janko)
|
data/README.md
CHANGED
@@ -86,6 +86,12 @@ module ImageProcessing
|
|
86
86
|
magick.extent "#{width}x#{height}"
|
87
87
|
end
|
88
88
|
|
89
|
+
# Resizes the image to cover the specified dimensions, without
|
90
|
+
# cropping the excess.
|
91
|
+
def resize_to_cover(width, height, **options)
|
92
|
+
thumbnail("#{width}x#{height}^", **options)
|
93
|
+
end
|
94
|
+
|
89
95
|
# Crops the image with the specified crop points.
|
90
96
|
def crop(*args)
|
91
97
|
case args.count
|
@@ -151,7 +157,11 @@ module ImageProcessing
|
|
151
157
|
|
152
158
|
# Appends a raw ImageMagick command-line argument to the command.
|
153
159
|
def append(*args)
|
154
|
-
|
160
|
+
if args.empty?
|
161
|
+
magick.append
|
162
|
+
else
|
163
|
+
magick.merge! args
|
164
|
+
end
|
155
165
|
end
|
156
166
|
|
157
167
|
private
|
@@ -90,9 +90,31 @@ module ImageProcessing
|
|
90
90
|
image.gravity(gravity, width, height, extend: extend, background: background)
|
91
91
|
end
|
92
92
|
|
93
|
+
# Resizes the image to cover the specified dimensions, without
|
94
|
+
# cropping the excess.
|
95
|
+
def resize_to_cover(width, height, **options)
|
96
|
+
image = self.image.is_a?(String) ? ::Vips::Image.new_from_file(self.image) : self.image
|
97
|
+
|
98
|
+
image_ratio = Rational(image.width, image.height)
|
99
|
+
thumbnail_ratio = Rational(width, height)
|
100
|
+
|
101
|
+
if image_ratio > thumbnail_ratio
|
102
|
+
width = ::Vips::MAX_COORD
|
103
|
+
else
|
104
|
+
height = ::Vips::MAX_COORD
|
105
|
+
end
|
106
|
+
|
107
|
+
thumbnail(width, height, **options, crop: :none)
|
108
|
+
end
|
109
|
+
|
93
110
|
# Rotates the image by an arbitrary angle.
|
94
111
|
def rotate(degrees, **options)
|
95
|
-
|
112
|
+
if ([90, 180, 270].include?(degrees) && options.empty?)
|
113
|
+
rot_command = "rot#{degrees}".to_sym
|
114
|
+
image.public_send rot_command
|
115
|
+
else
|
116
|
+
image.similarity(angle: degrees, **options)
|
117
|
+
end
|
96
118
|
end
|
97
119
|
|
98
120
|
# Overlays the specified image over the current one. Supports specifying
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: image_processing
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.13.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Janko Marohnić
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2024-07-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: mini_magick
|
@@ -159,7 +159,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
159
159
|
- !ruby/object:Gem::Version
|
160
160
|
version: '0'
|
161
161
|
requirements: []
|
162
|
-
rubygems_version: 3.
|
162
|
+
rubygems_version: 3.5.11
|
163
163
|
signing_key:
|
164
164
|
specification_version: 4
|
165
165
|
summary: High-level wrapper for processing images for the web with ImageMagick or
|