vips 8.7.0.1 → 8.8.0.1
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/.travis.yml +25 -22
- data/CHANGELOG.md +266 -0
- data/example/annotate.rb +2 -2
- data/example/daltonize8.rb +14 -14
- data/example/example2.rb +6 -6
- data/example/example3.rb +5 -5
- data/example/example4.rb +4 -4
- data/example/example5.rb +2 -2
- data/example/inheritance_with_refcount.rb +207 -207
- data/example/thumb.rb +10 -10
- data/example/trim8.rb +2 -2
- data/example/watermark.rb +14 -35
- data/example/wobble.rb +24 -24
- data/lib/vips.rb +335 -306
- data/lib/vips/access.rb +9 -9
- data/lib/vips/align.rb +7 -7
- data/lib/vips/angle.rb +8 -8
- data/lib/vips/angle45.rb +12 -12
- data/lib/vips/bandformat.rb +16 -16
- data/lib/vips/blend_mode.rb +34 -0
- data/lib/vips/coding.rb +11 -11
- data/lib/vips/compass_direction.rb +13 -13
- data/lib/vips/direction.rb +7 -7
- data/lib/vips/extend.rb +13 -13
- data/lib/vips/gobject.rb +94 -94
- data/lib/vips/gvalue.rb +232 -232
- data/lib/vips/image.rb +1329 -1327
- data/lib/vips/interesting.rb +10 -10
- data/lib/vips/interpolate.rb +51 -51
- data/lib/vips/interpretation.rb +25 -25
- data/lib/vips/kernel.rb +18 -18
- data/lib/vips/methods.rb +2226 -2139
- data/lib/vips/object.rb +208 -208
- data/lib/vips/operation.rb +323 -321
- data/lib/vips/operationboolean.rb +10 -10
- data/lib/vips/operationcomplex.rb +8 -8
- data/lib/vips/operationcomplex2.rb +6 -6
- data/lib/vips/operationcomplexget.rb +7 -7
- data/lib/vips/operationmath.rb +14 -14
- data/lib/vips/operationmath2.rb +6 -6
- data/lib/vips/operationrelational.rb +11 -11
- data/lib/vips/operationround.rb +7 -7
- data/lib/vips/size.rb +9 -9
- data/lib/vips/version.rb +1 -1
- data/vips.gemspec +1 -1
- metadata +9 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2428785130e6b8a069f4837cd5d6b41f1cc0850d3447a2a649f21697a18ba121
|
4
|
+
data.tar.gz: 67af1fe1fa96d5e6224623a8f79381ade7ea3cdf98bf891f1571ea48bd2bcc61
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c8f0e4b15623f612f3dcd1ec2da162b361f32c2950d6a0b5eeeba7a7355f837012875546c6dfbeda624e1345d05155ee53c5134862cc072dd248589e05a51529
|
7
|
+
data.tar.gz: 7773f7f21ff700fdb6a36e32bac47c8007b1f15f2ab9315192cb2f564239f21d11d1df2b6d9f9ca0bf69692f9a9b89a334ced5a72d4c476ce58c2f10232eada8
|
data/.travis.yml
CHANGED
@@ -1,51 +1,54 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
sudo: false
|
1
|
+
language: ruby
|
2
|
+
dist: xenial
|
3
|
+
cache: bundler
|
6
4
|
|
7
5
|
addons:
|
8
6
|
apt:
|
9
7
|
packages:
|
10
8
|
- libexpat1-dev
|
11
9
|
- gettext
|
10
|
+
- libglib2.0-dev
|
11
|
+
- liborc-0.4-dev
|
12
|
+
- libfftw3-dev
|
12
13
|
- liblcms2-dev
|
13
14
|
- libmagickwand-dev
|
14
15
|
- libopenexr-dev
|
15
16
|
- libcfitsio3-dev
|
16
17
|
- libgif-dev
|
17
|
-
- libgs-dev
|
18
18
|
- libgsf-1-dev
|
19
19
|
- libmatio-dev
|
20
20
|
- libopenslide-dev
|
21
|
-
- liborc-0.4-dev
|
22
21
|
- libpango1.0-dev
|
23
22
|
- libpoppler-glib-dev
|
24
23
|
- librsvg2-dev
|
25
24
|
- libwebp-dev
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
-
|
25
|
+
homebrew:
|
26
|
+
packages:
|
27
|
+
# A simple way to install all dependencies.
|
28
|
+
- vips
|
29
|
+
- glib
|
30
30
|
|
31
31
|
cache:
|
32
32
|
bundler: true
|
33
33
|
directories: $HOME/vips/ext
|
34
34
|
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
35
|
+
matrix:
|
36
|
+
include:
|
37
|
+
- rvm: 2.4
|
38
|
+
- rvm: 2.5
|
39
|
+
- rvm: 2.6
|
40
|
+
- rvm: 2.6
|
41
|
+
os: osx
|
42
|
+
- rvm: truffleruby
|
43
|
+
- rvm: jruby-head
|
44
|
+
- rvm: ruby-head
|
45
|
+
allow_failures:
|
46
|
+
- rvm: truffleruby
|
47
|
+
- rvm: ruby-head
|
48
|
+
- rvm: jruby-head
|
41
49
|
|
42
50
|
before_script:
|
43
|
-
- gem update --system
|
44
|
-
- gem install bundler
|
45
51
|
- bundle exec rake ext
|
46
52
|
|
47
53
|
script:
|
48
54
|
- bundle exec rake
|
49
|
-
|
50
|
-
gemfile:
|
51
|
-
- Gemfile
|
data/CHANGELOG.md
ADDED
@@ -0,0 +1,266 @@
|
|
1
|
+
# Changelog
|
2
|
+
|
3
|
+
## master
|
4
|
+
|
5
|
+
## Version 2.0.14 (2018-10-3)
|
6
|
+
|
7
|
+
* update links for new home [jcupitt]
|
8
|
+
* various doc fixes [janko-m]
|
9
|
+
* update docs for 8.7 [jcupitt]
|
10
|
+
* add `Vips::get_suffixes` [jcupitt]
|
11
|
+
|
12
|
+
## Version 2.0.13 (2018-8-6)
|
13
|
+
|
14
|
+
* allow optional args to have `nil` as a value [janko-m]
|
15
|
+
* fix five small memleaks [kleisauke]
|
16
|
+
|
17
|
+
## Version 2.0.12 (2018-4-25)
|
18
|
+
|
19
|
+
* fix `Vips::Image#has_alpha?` with older libvips [larskanis]
|
20
|
+
|
21
|
+
## Version 2.0.11 (2018-4-23)
|
22
|
+
|
23
|
+
* fix init with older glib [lsat12357]
|
24
|
+
* add `Vips::Image#has_alpha?` and `#add_alpha` [aried3r]
|
25
|
+
|
26
|
+
## Version 2.0.10 (2017-12-21)
|
27
|
+
|
28
|
+
* add support for uint64 parameters
|
29
|
+
* add `draw_point` convenience method
|
30
|
+
* add docs for `CompassDirection` [janko-m]
|
31
|
+
* add `MAX_COORD` constant
|
32
|
+
* doc fixes [janko-m]
|
33
|
+
* remove duplicate function attach [janko-m]
|
34
|
+
* fix a crash with `new_from_buffer` with a UTF-8 string [janko-m]
|
35
|
+
|
36
|
+
## Version 2.0.9 (2017-12-21)
|
37
|
+
|
38
|
+
* update docs for libvips 8.6
|
39
|
+
|
40
|
+
## Version 2.0.8 (2017-09-14)
|
41
|
+
|
42
|
+
* add `thumb.rb` example, and verify we run stably and in constant memory
|
43
|
+
* cleanups and polish [Nakilon]
|
44
|
+
* add `composite` convenience method
|
45
|
+
* add `Vips::concurrency_set` and `Vips::vector_set`
|
46
|
+
|
47
|
+
## Version 2.0.7 (2017-09-08)
|
48
|
+
|
49
|
+
* disable the logging for now, it could deadlock
|
50
|
+
|
51
|
+
## Version 2.0.6 (2017-09-02)
|
52
|
+
|
53
|
+
* improve get() behaviour on error with older libvipses
|
54
|
+
|
55
|
+
## Version 2.0.5 (2017-09-02)
|
56
|
+
|
57
|
+
* fix get() with older libvipses
|
58
|
+
|
59
|
+
## Version 2.0.4 (2017-09-02)
|
60
|
+
|
61
|
+
* add a test for `get_fields`, since it appeared in libvips 8.5 (thanks zverok)
|
62
|
+
|
63
|
+
## Version 2.0.3 (2017-09-02)
|
64
|
+
|
65
|
+
* add `get_fields`
|
66
|
+
|
67
|
+
## Version 2.0.2 (2017-08-26)
|
68
|
+
|
69
|
+
* switch to `logger` for all logging output
|
70
|
+
* add libvips cache control functions `Vips::cache_set_max()` etc.
|
71
|
+
* fix a ref leak
|
72
|
+
|
73
|
+
## Version 2.0.1 (2017-08-23)
|
74
|
+
|
75
|
+
* add support for `VipsRefStr` in gvalue, thanks tomasc
|
76
|
+
|
77
|
+
## Version 2.0.0 (2017-08-22)
|
78
|
+
|
79
|
+
* rewrite on top of 'ffi' [John Cupitt, Kleis Auke Wolthuizen]
|
80
|
+
|
81
|
+
## Version 1.0.6 (2017-07-17)
|
82
|
+
|
83
|
+
* remove lazy load, fixing a race with multi-threading [felixbuenemann]
|
84
|
+
* make `Image#to_a` much faster [John Cupitt]
|
85
|
+
* remove the `at_exit` handler [John Cupitt]
|
86
|
+
|
87
|
+
## Version 1.0.5 (2017-04-29)
|
88
|
+
|
89
|
+
* fix `_const` for libvips 8.5 [John Cupitt]
|
90
|
+
* add `scaleimage`, the scale operation renamed to avoid a clash with the
|
91
|
+
`scale` property [John Cupitt]
|
92
|
+
* add `.new_from_image`: make a new image from a constant [John Cupitt]
|
93
|
+
* `bandjoin` will use `bandjoin_const`, if it can [John Cupitt]
|
94
|
+
* update generated docs for libvips 8.5 [John Cupitt]
|
95
|
+
* added docs for new libvips 8.5 enums [John Cupitt]
|
96
|
+
|
97
|
+
## Version 1.0.4 (2017-02-07)
|
98
|
+
|
99
|
+
* remove stray comma from some docs lines [John Cupitt]
|
100
|
+
* update generated docs for libvips 8.5 [John Cupitt]
|
101
|
+
* small doc improvements [John Cupitt]
|
102
|
+
* update for gobject-introspection 3.1 [John Cupitt]
|
103
|
+
* support ruby 2.4 [John Cupitt]
|
104
|
+
|
105
|
+
## Version 1.0.3 (2016-08-18)
|
106
|
+
|
107
|
+
* doc improvements [John Cupitt]
|
108
|
+
* add `Image#size` to get `[width, height]` [John Cupitt]
|
109
|
+
* only ask for ruby 2.0 to help OS X [John Cupitt]
|
110
|
+
* break up `Image.call` to make it easier to understand [John Cupitt]
|
111
|
+
* detect operation build fail correctly [John Cupitt]
|
112
|
+
* lock gobject-introspection at 3.0.8 to avoid breakage [John Cupitt]
|
113
|
+
|
114
|
+
## Version 1.0.2 (2016-07-07)
|
115
|
+
|
116
|
+
* add `.yardopts` to fix ruby-gems docs [John Cupitt]
|
117
|
+
|
118
|
+
## Version 1.0.1 (2016-07-07)
|
119
|
+
|
120
|
+
* simplify gemspec [sandstrom]
|
121
|
+
* remove jeweler dependency [John Cupitt]
|
122
|
+
* add `.to_a` to Image [John Cupitt]
|
123
|
+
|
124
|
+
## Version 1.0.0 (2016-06-07)
|
125
|
+
|
126
|
+
* complete rewrite, API break [John Cupitt]
|
127
|
+
|
128
|
+
## Version 0.3.14 (2016-01-25)
|
129
|
+
|
130
|
+
* more GC tuning [felixbuenemann]
|
131
|
+
* add `write.rb` example program [felixbuenemann]
|
132
|
+
|
133
|
+
## Version 0.3.13 (2016-01-18)
|
134
|
+
|
135
|
+
* don't use generational GC options on old Rubys [John Cupitt]
|
136
|
+
|
137
|
+
## Version 0.3.12 (2016-01-17)
|
138
|
+
|
139
|
+
* incremental GC every 10 writes [felixbuenemann]
|
140
|
+
* updated bundle [John Cupitt]
|
141
|
+
|
142
|
+
## Version 0.3.11 (2015-10-15)
|
143
|
+
|
144
|
+
* added magick load from buffer [John Cupitt]
|
145
|
+
|
146
|
+
## Version 0.3.10 (2015-06-24)
|
147
|
+
|
148
|
+
* added webp write [John Cupitt]
|
149
|
+
|
150
|
+
## Version 0.3.9 (2014-07-17)
|
151
|
+
|
152
|
+
* removed a stray file from gemspec [Alessandro Tagliapietra]
|
153
|
+
* updated bundle [John Cupitt]
|
154
|
+
* revised spec tests [John Cupitt]
|
155
|
+
* fix a segv in im.label_regions [John Cupitt]
|
156
|
+
* add a Valgrind suppressions file [John Cupitt]
|
157
|
+
* fix .monotonic? [John Cupitt]
|
158
|
+
* fix .data on coded images [John Cupitt]
|
159
|
+
* add .size, see issue #58 [John Cupitt]
|
160
|
+
* add rdoc-data dep, maybe it will help ruby-gems docs [John Cupitt]
|
161
|
+
|
162
|
+
## Version 0.3.8 (2014-05-11)
|
163
|
+
|
164
|
+
* add VIPS::thread_shutdown(), must be called on foreign thread exit [John Cupitt]
|
165
|
+
|
166
|
+
## Version 0.3.7 (2014-02-04)
|
167
|
+
|
168
|
+
* update build dependencies [John Cupitt]
|
169
|
+
* README updated [John Cupitt]
|
170
|
+
|
171
|
+
## Version 0.3.6 (2013-06-25)
|
172
|
+
|
173
|
+
* add png and jpg load from memory buffer [John Cupitt]
|
174
|
+
* README updated to include buffer read/write example [John Cupitt]
|
175
|
+
* better vips version testing [John Cupitt]
|
176
|
+
* spec tests for new buffer read/write code [John Cupitt]
|
177
|
+
* fix rdoc build to include C sources [John Cupitt]
|
178
|
+
* better compat with older libvips [John Cupitt]
|
179
|
+
|
180
|
+
## Version 0.3.5 (2013-01-15)
|
181
|
+
|
182
|
+
* rb_raise() in mask.c no longer passes a string pointer as the fmt arg, stopping gcc bailing out on some platforms [John Cupitt]
|
183
|
+
* Image.magick() now calls im_magick2vips() directly rather than relying on libvips file type sniffing [John Cupitt]
|
184
|
+
|
185
|
+
## Version 0.3.4 (2012-09-11)
|
186
|
+
|
187
|
+
* Update specs for lcms changes, thanks Stanislaw [John Cupitt]
|
188
|
+
* VIPS::Reader supports .exif() / .exif?() methods for better back compat, thanks Jeremy [John Cupitt]
|
189
|
+
* VIPS::Reader fallbacks load the image if its not been loaded [John Cupitt]
|
190
|
+
* VIPS::Reader no longer allows VIPS::Header methods [John Cupitt]
|
191
|
+
|
192
|
+
## Version 0.3.3 (2012-08-31)
|
193
|
+
|
194
|
+
* Typo in workaround in 0.3.2 [John Cupitt]
|
195
|
+
|
196
|
+
## Version 0.3.2 (2012-08-31)
|
197
|
+
|
198
|
+
### Fixed
|
199
|
+
|
200
|
+
* Workaround helps ruby-vips compile (and run) against 7.26.3 [John Cupitt and
|
201
|
+
James Harrison]
|
202
|
+
|
203
|
+
## Version 0.3.1 (2012-08-30)
|
204
|
+
|
205
|
+
### Fixed
|
206
|
+
|
207
|
+
* PNG writer no longer changes the filename argument [John Cupitt]
|
208
|
+
* Workaround helps ruby-vips compile against 7.26.3 [John Cupitt]
|
209
|
+
* Image read now runs GC and retries on fail [John Cupitt]
|
210
|
+
* Image write GCs every 100 images [John Cupitt]
|
211
|
+
|
212
|
+
## Version 0.3.0 (2012-07-20)
|
213
|
+
|
214
|
+
### Added
|
215
|
+
|
216
|
+
* More rspec tests [John Cupitt]
|
217
|
+
* Updated to libvips-7.30 [John Cupitt]
|
218
|
+
|
219
|
+
### Changed
|
220
|
+
|
221
|
+
* Reworked Reader class offers better performance and compatibility [John
|
222
|
+
Cupitt]
|
223
|
+
* Don't use :sequential option for older libvipses [John Cupitt]
|
224
|
+
* Rename "tone_analyze" as "tone_analyse" for consistency with the rest of
|
225
|
+
vips [John CUpitt]
|
226
|
+
|
227
|
+
### Fixed
|
228
|
+
|
229
|
+
* Now passes rspec test suite cleanly in valgrind [John Cupitt]
|
230
|
+
* Fixed check of sequential mode support [Stanislaw Pankevich]
|
231
|
+
|
232
|
+
## Version 0.2.0 (2012-06-29)
|
233
|
+
|
234
|
+
### Added
|
235
|
+
|
236
|
+
* Add tile_cache [John Cupitt]
|
237
|
+
* Add :sequential option to tiff, jpeg and png readers [John Cupitt]
|
238
|
+
* Add raise if suitable pkg_config for libvips is not found, thanks to Pierre
|
239
|
+
Chapuis [Stanislaw Pankevich]
|
240
|
+
* Add backward compatibility of 0.1.x ruby-vips with libvips versions less than 7.28 [John Cupitt]
|
241
|
+
* Add Travis. ruby-vips now is being tested on travis-ci.org. [Stanislaw Pankevich]
|
242
|
+
|
243
|
+
### Changed
|
244
|
+
|
245
|
+
* Disable the vips8 operation cache to save some memory [John Cupitt]
|
246
|
+
* Update example shrinker [John Cupitt]
|
247
|
+
|
248
|
+
### Fixed
|
249
|
+
|
250
|
+
* #8: Memory allocation-free issues [Grigoriy Chudnov]
|
251
|
+
|
252
|
+
## Version 0.1.1 (2012-06-22)
|
253
|
+
|
254
|
+
### Changed
|
255
|
+
|
256
|
+
* Upgrade spec/* code to latest RSpec [Stanislaw Pankevich]
|
257
|
+
|
258
|
+
### Added
|
259
|
+
|
260
|
+
* Added CHANGELOG.md file (thanks to jnicklas/capybara - using the layout of their History.txt) [Stanislaw Pankevich]
|
261
|
+
* Added Gemfile with the only 'rspec' dependency. [Stanislaw Pankevich]
|
262
|
+
* Added Jeweler Rakefile contents to release ruby-vips as a gem. [Stanislaw Pankevich]
|
263
|
+
|
264
|
+
## Before (initial unreleased version 0.1.0)
|
265
|
+
|
266
|
+
Long-long history here undocumented...
|
data/example/annotate.rb
CHANGED
@@ -5,13 +5,13 @@ require 'vips'
|
|
5
5
|
im = Vips::Image.new_from_file ARGV[0], :access => :sequential
|
6
6
|
|
7
7
|
left_text = Vips::Image.text "left corner", :dpi => 300
|
8
|
-
left = left_text.embed 50, 50, im.width, 150
|
8
|
+
left = left_text.embed 50, 50, im.width, 150
|
9
9
|
|
10
10
|
right_text = Vips::Image.text "right corner", :dpi => 300
|
11
11
|
right = right_text.embed im.width - right_text.width - 50, 50, im.width, 150
|
12
12
|
|
13
13
|
footer = (left | right).ifthenelse(0, [255, 0, 0], :blend => true)
|
14
14
|
|
15
|
-
im = im.insert footer, 0, im.height, :expand => true
|
15
|
+
im = im.insert footer, 0, im.height, :expand => true
|
16
16
|
|
17
17
|
im.write_to_file ARGV[1]
|
data/example/daltonize8.rb
CHANGED
@@ -28,20 +28,20 @@ im = Vips::Image.new_from_file ARGV[0]
|
|
28
28
|
# remove any alpha channel before processing
|
29
29
|
alpha = nil
|
30
30
|
if im.bands == 4
|
31
|
-
|
32
|
-
|
31
|
+
alpha = im[3]
|
32
|
+
im = im.extract_band 0, :n => 3
|
33
33
|
end
|
34
34
|
|
35
35
|
begin
|
36
|
-
|
37
|
-
|
38
|
-
|
36
|
+
# import to XYZ with lcms
|
37
|
+
# if there's no profile there, we'll fall back to the thing below
|
38
|
+
xyz = im.icc_import :embedded => true, :pcs => :xyz
|
39
39
|
rescue Vips::Error
|
40
|
-
|
41
|
-
|
40
|
+
# nope .. use the built-in converter instead
|
41
|
+
xyz = im.colourspace :xyz
|
42
42
|
end
|
43
43
|
|
44
|
-
brad = xyz.recomb xyz_to_brad
|
44
|
+
brad = xyz.recomb xyz_to_brad
|
45
45
|
|
46
46
|
# through the Deuteranope matrix
|
47
47
|
# we need rows to sum to 1 in Bradford space --- the matrix in the original
|
@@ -52,24 +52,24 @@ deut = brad.recomb [
|
|
52
52
|
[0, 0, 1]
|
53
53
|
]
|
54
54
|
|
55
|
-
xyz = deut.recomb brad_to_xyz
|
55
|
+
xyz = deut.recomb brad_to_xyz
|
56
56
|
|
57
|
-
# .. and back to sRGB
|
57
|
+
# .. and back to sRGB
|
58
58
|
rgb = xyz.colourspace :srgb
|
59
59
|
|
60
|
-
# so this is the colour error
|
60
|
+
# so this is the colour error
|
61
61
|
err = im - rgb
|
62
62
|
|
63
63
|
# add the error back to other channels to make a compensated image
|
64
64
|
im = im + err.recomb([
|
65
|
-
[0, 0, 0],
|
65
|
+
[0, 0, 0],
|
66
66
|
[0.7, 1, 0],
|
67
67
|
[0.7, 0, 1]
|
68
68
|
])
|
69
69
|
|
70
70
|
# reattach any alpha we saved above
|
71
71
|
if alpha
|
72
|
-
|
72
|
+
im = im.bandjoin(alpha)
|
73
73
|
end
|
74
74
|
|
75
|
-
im.write_to_file ARGV[1]
|
75
|
+
im.write_to_file ARGV[1]
|
data/example/example2.rb
CHANGED
@@ -17,12 +17,12 @@ Vips::cache_set_max 0
|
|
17
17
|
n = 10000
|
18
18
|
|
19
19
|
n.times do |i|
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
20
|
+
puts ""
|
21
|
+
puts "call #{i} ..."
|
22
|
+
out = Vips::Operation.call "black", [200, 300]
|
23
|
+
if out.width != 200 or out.height != 300
|
24
|
+
puts "bad image result from black"
|
25
|
+
end
|
26
26
|
end
|
27
27
|
|
28
28
|
puts ""
|