ruby-vips 2.1.3 → 2.1.4
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 +7 -0
- data/README.md +14 -9
- data/VERSION +1 -1
- data/lib/vips/image.rb +68 -9
- data/lib/vips/methods.rb +215 -326
- data/lib/vips/operation.rb +15 -1
- data/lib/vips/version.rb +1 -1
- data/lib/vips.rb +2 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ff74e4e7a8b781e9fd56602fddc00adaa0355276532821a953bac3175e649534
|
4
|
+
data.tar.gz: 199957dacc1c47208a5d8a379080b76676fe3f98ba684a76fdbe5e08370d535b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9d585d3440f75759e1c07cefd6d43371db62706e0c2e9ada3512f661870f7f4c410d6dbeed138c45e16438112cc8179bae2d4477c318ac6fcf9e31487822cb63
|
7
|
+
data.tar.gz: a62254d063cd35b521e74a86377d3e83d2b2345a10186e044b2e91992bc6ff49611d6bde916cd8c530d0b2ba4da7ba4a23ca10c922be99463ab71371538cf1cf
|
data/CHANGELOG.md
CHANGED
@@ -2,6 +2,13 @@
|
|
2
2
|
|
3
3
|
## master
|
4
4
|
|
5
|
+
## Version 2.1.4 (2021-10-28)
|
6
|
+
|
7
|
+
* `write_to_buffer` tries to use the new target API, then falls back to the old
|
8
|
+
buffer system [jcupitt]
|
9
|
+
* don't generate yard docs for deprecated args [jcupitt]
|
10
|
+
* add hyperbolic trig functions [jcupitt]
|
11
|
+
|
5
12
|
## Version 2.1.3 (2021-8-23)
|
6
13
|
|
7
14
|
* fix a gtype size error on win64 [danini-the-panini]
|
data/README.md
CHANGED
@@ -41,7 +41,7 @@ gem "ruby-vips"
|
|
41
41
|
On Windows, you'll need to set the `RUBY_DLL_PATH` environment variable to
|
42
42
|
point to the libvips bin directory.
|
43
43
|
|
44
|
-
|
44
|
+
## Example
|
45
45
|
|
46
46
|
```ruby
|
47
47
|
require "vips"
|
@@ -68,19 +68,24 @@ im = im.conv mask, precision: :integer
|
|
68
68
|
im.write_to_file output_filename
|
69
69
|
```
|
70
70
|
|
71
|
-
|
71
|
+
## Documentation
|
72
|
+
|
73
|
+
There are [full API docs for ruby-vips on
|
74
|
+
rubydoc](https://www.rubydoc.info/gems/ruby-vips). This sometimes has issues
|
75
|
+
updating, so we have a [copy on the gh-pages for this site as
|
76
|
+
well](http://libvips.github.io/ruby-vips), which
|
77
|
+
should always work.
|
78
|
+
|
79
|
+
See the `Vips` section in the docs for a [tutorial introduction with
|
72
80
|
examples](https://www.rubydoc.info/gems/ruby-vips/Vips).
|
73
81
|
|
74
|
-
|
75
|
-
|
76
|
-
reference manual](https://libvips.github.io/libvips/API/current/) has a
|
77
|
-
complete explanation of every method.
|
82
|
+
The [libvips reference manual](https://libvips.github.io/libvips/API/current/)
|
83
|
+
has a complete explanation of every method.
|
78
84
|
|
79
|
-
The
|
80
|
-
[`example/`](https://github.com/libvips/ruby-vips/tree/master/example)
|
85
|
+
The [`example/`](https://github.com/libvips/ruby-vips/tree/master/example)
|
81
86
|
directory has some simple example programs.
|
82
87
|
|
83
|
-
|
88
|
+
## Benchmarks
|
84
89
|
|
85
90
|
The benchmark at [vips-benchmarks](https://github.com/jcupitt/vips-benchmarks)
|
86
91
|
loads a large image, crops, shrinks, sharpens and saves again, and repeats
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
2.1.
|
1
|
+
2.1.4
|
data/lib/vips/image.rb
CHANGED
@@ -623,11 +623,27 @@ module Vips
|
|
623
623
|
raise Vips::Error, "filename is nil" if format_string.nil?
|
624
624
|
filename = Vips.p2str(Vips.vips_filename_get_filename(format_string))
|
625
625
|
option_string = Vips.p2str(Vips.vips_filename_get_options(format_string))
|
626
|
-
saver = Vips.vips_foreign_find_save_buffer filename
|
627
|
-
raise Vips::Error if saver.nil?
|
628
626
|
|
629
|
-
|
630
|
-
|
627
|
+
# try to save with the new target API first, only fall back to the old
|
628
|
+
# buffer API if there's no target save for this filetype
|
629
|
+
saver = nil
|
630
|
+
if Vips.at_least_libvips?(8, 9)
|
631
|
+
Vips.vips_error_freeze
|
632
|
+
saver = Vips.vips_foreign_find_save_target filename
|
633
|
+
Vips.vips_error_thaw
|
634
|
+
end
|
635
|
+
|
636
|
+
if !saver.nil?
|
637
|
+
target = Vips::Target.new_to_memory
|
638
|
+
Vips::Operation.call saver, [self, target], opts, option_string
|
639
|
+
buffer = target.get("blob")
|
640
|
+
else
|
641
|
+
saver = Vips.vips_foreign_find_save_buffer filename
|
642
|
+
raise Vips::Error if saver.nil?
|
643
|
+
|
644
|
+
buffer = Vips::Operation.call saver, [self], opts, option_string
|
645
|
+
raise Vips::Error if buffer.nil?
|
646
|
+
end
|
631
647
|
|
632
648
|
write_gc
|
633
649
|
|
@@ -1434,6 +1450,48 @@ module Vips
|
|
1434
1450
|
math :atan
|
1435
1451
|
end
|
1436
1452
|
|
1453
|
+
# Return the hyperbolic sine of an image in radians.
|
1454
|
+
#
|
1455
|
+
# @return [Image] sine of each pixel
|
1456
|
+
def sinh
|
1457
|
+
math :sinh
|
1458
|
+
end
|
1459
|
+
|
1460
|
+
# Return the hyperbolic cosine of an image in radians.
|
1461
|
+
#
|
1462
|
+
# @return [Image] cosine of each pixel
|
1463
|
+
def cosh
|
1464
|
+
math :cosh
|
1465
|
+
end
|
1466
|
+
|
1467
|
+
# Return the hyperbolic tangent of an image in radians.
|
1468
|
+
#
|
1469
|
+
# @return [Image] tangent of each pixel
|
1470
|
+
def tanh
|
1471
|
+
math :tanh
|
1472
|
+
end
|
1473
|
+
|
1474
|
+
# Return the inverse hyperbolic sine of an image in radians.
|
1475
|
+
#
|
1476
|
+
# @return [Image] inverse sine of each pixel
|
1477
|
+
def asinh
|
1478
|
+
math :asinh
|
1479
|
+
end
|
1480
|
+
|
1481
|
+
# Return the inverse hyperbolic cosine of an image in radians.
|
1482
|
+
#
|
1483
|
+
# @return [Image] inverse cosine of each pixel
|
1484
|
+
def acosh
|
1485
|
+
math :acosh
|
1486
|
+
end
|
1487
|
+
|
1488
|
+
# Return the inverse hyperbolic tangent of an image in radians.
|
1489
|
+
#
|
1490
|
+
# @return [Image] inverse tangent of each pixel
|
1491
|
+
def atanh
|
1492
|
+
math :atanh
|
1493
|
+
end
|
1494
|
+
|
1437
1495
|
# Return the natural log of an image.
|
1438
1496
|
#
|
1439
1497
|
# @return [Image] natural log of each pixel
|
@@ -1616,8 +1674,8 @@ module Vips
|
|
1616
1674
|
|
1617
1675
|
method_args = introspect.method_args
|
1618
1676
|
required_output = introspect.required_output
|
1619
|
-
optional_input = introspect.
|
1620
|
-
optional_output = introspect.
|
1677
|
+
optional_input = introspect.doc_optional_input
|
1678
|
+
optional_output = introspect.doc_optional_output
|
1621
1679
|
|
1622
1680
|
print "# @!method "
|
1623
1681
|
print "self." unless introspect.member_x
|
@@ -1640,17 +1698,18 @@ module Vips
|
|
1640
1698
|
optional_input.each do |arg_name, details|
|
1641
1699
|
yard_name = details[:yard_name]
|
1642
1700
|
gtype = details[:gtype]
|
1701
|
+
rtype = gtype_to_ruby gtype
|
1643
1702
|
blurb = details[:blurb]
|
1644
1703
|
|
1645
|
-
puts "# @option opts [#{
|
1704
|
+
puts "# @option opts [#{rtype}] :#{yard_name} #{blurb}"
|
1646
1705
|
end
|
1647
1706
|
optional_output.each do |arg_name, details|
|
1648
1707
|
yard_name = details[:yard_name]
|
1649
1708
|
gtype = details[:gtype]
|
1709
|
+
rtype = gtype_to_ruby gtype
|
1650
1710
|
blurb = details[:blurb]
|
1651
1711
|
|
1652
|
-
|
1653
|
-
puts " Output #{blurb}"
|
1712
|
+
puts "# @option opts [#{rtype}] :#{yard_name} Output #{blurb}"
|
1654
1713
|
end
|
1655
1714
|
|
1656
1715
|
print "# @return ["
|