ruby-vips 2.0.17 → 2.1.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (50) hide show
  1. checksums.yaml +4 -4
  2. data/.github/ISSUE_TEMPLATE/bug_report.md +42 -0
  3. data/.github/workflows/test.yml +80 -0
  4. data/.standard.yml +17 -0
  5. data/.yardopts +0 -1
  6. data/CHANGELOG.md +26 -0
  7. data/Gemfile +3 -1
  8. data/README.md +12 -11
  9. data/Rakefile +13 -21
  10. data/TODO +4 -8
  11. data/VERSION +1 -1
  12. data/example/annotate.rb +6 -6
  13. data/example/connection.rb +18 -9
  14. data/example/daltonize8.rb +6 -6
  15. data/example/draw_lines.rb +30 -0
  16. data/example/example1.rb +4 -4
  17. data/example/example2.rb +6 -6
  18. data/example/example3.rb +5 -5
  19. data/example/example4.rb +2 -2
  20. data/example/example5.rb +4 -4
  21. data/example/inheritance_with_refcount.rb +46 -39
  22. data/example/progress.rb +3 -3
  23. data/example/thumb.rb +6 -6
  24. data/example/trim8.rb +1 -1
  25. data/example/watermark.rb +2 -2
  26. data/example/wobble.rb +1 -1
  27. data/lib/ruby-vips.rb +1 -1
  28. data/lib/vips.rb +127 -76
  29. data/lib/vips/blend_mode.rb +29 -25
  30. data/lib/vips/connection.rb +4 -4
  31. data/lib/vips/gobject.rb +18 -11
  32. data/lib/vips/gvalue.rb +54 -54
  33. data/lib/vips/image.rb +289 -165
  34. data/lib/vips/interpolate.rb +3 -2
  35. data/lib/vips/methods.rb +484 -107
  36. data/lib/vips/mutableimage.rb +173 -0
  37. data/lib/vips/object.rb +86 -93
  38. data/lib/vips/operation.rb +161 -82
  39. data/lib/vips/region.rb +6 -6
  40. data/lib/vips/source.rb +11 -12
  41. data/lib/vips/sourcecustom.rb +7 -8
  42. data/lib/vips/target.rb +12 -13
  43. data/lib/vips/targetcustom.rb +9 -10
  44. data/lib/vips/version.rb +1 -1
  45. data/ruby-vips.gemspec +26 -22
  46. metadata +29 -49
  47. data/.rubocop.yml +0 -22
  48. data/.rubocop_todo.yml +0 -473
  49. data/.travis.yml +0 -57
  50. data/install-vips.sh +0 -26
@@ -48,8 +48,9 @@ module Vips
48
48
  end
49
49
 
50
50
  def initialize name
51
- ptr = Vips::vips_interpolate_new name
52
- raise Vips::Error if ptr == nil
51
+ name = name.to_s if name.is_a? Symbol
52
+ ptr = Vips.vips_interpolate_new name
53
+ raise Vips::Error if ptr.nil?
53
54
 
54
55
  super ptr
55
56
  end
data/lib/vips/methods.rb CHANGED
@@ -462,6 +462,7 @@ module Vips
462
462
  # Autorotate image by exif tag.
463
463
  # @param opts [Hash] Set of options
464
464
  # @option opts [Vips::Angle] :angle Output Angle image was rotated by
465
+ # @option opts [Boolean] :flip Output Whether the image was flipped or not
465
466
  # @return [Vips::Image, Hash<Symbol => Object>] Output image, Hash of optional output items
466
467
 
467
468
  # @!method recomb(m, **opts)
@@ -586,23 +587,9 @@ module Vips
586
587
  # @param opts [Hash] Set of options
587
588
  # @option opts [Float] :sigma Standard deviation of pixels in generated image
588
589
  # @option opts [Float] :mean Mean of pixels in generated image
590
+ # @option opts [Integer] :seed Random number seed
589
591
  # @return [Vips::Image] Output image
590
592
 
591
- # @!method self.text(text, **opts)
592
- # Make a text image.
593
- # @param text [String] Text to render
594
- # @param opts [Hash] Set of options
595
- # @option opts [String] :font Font to render with
596
- # @option opts [Integer] :width Maximum image width in pixels
597
- # @option opts [Integer] :height Maximum image height in pixels
598
- # @option opts [Vips::Align] :align Align on the low, centre or high edge
599
- # @option opts [Integer] :dpi DPI to render at
600
- # @option opts [Boolean] :justify Justify lines
601
- # @option opts [Integer] :spacing Line spacing
602
- # @option opts [String] :fontfile Load this font file
603
- # @option opts [Integer] :autofit_dpi Output DPI selected by autofit
604
- # @return [Vips::Image, Hash<Symbol => Object>] Output image, Hash of optional output items
605
-
606
593
  # @!method self.xyz(width, height, **opts)
607
594
  # Make an image where pixel values are coordinates.
608
595
  # @param width [Integer] Image width in pixels
@@ -633,6 +620,22 @@ module Vips
633
620
  # @option opts [Vips::Precision] :precision Generate with this precision
634
621
  # @return [Vips::Image] Output image
635
622
 
623
+ # @!method self.text(text, **opts)
624
+ # Make a text image.
625
+ # @param text [String] Text to render
626
+ # @param opts [Hash] Set of options
627
+ # @option opts [String] :font Font to render with
628
+ # @option opts [Integer] :width Maximum image width in pixels
629
+ # @option opts [Integer] :height Maximum image height in pixels
630
+ # @option opts [Vips::Align] :align Align on the low, centre or high edge
631
+ # @option opts [Boolean] :rgba Enable RGBA output
632
+ # @option opts [Integer] :dpi DPI to render at
633
+ # @option opts [Boolean] :justify Justify lines
634
+ # @option opts [Integer] :spacing Line spacing
635
+ # @option opts [String] :fontfile Load this font file
636
+ # @option opts [Integer] :autofit_dpi Output DPI selected by autofit
637
+ # @return [Vips::Image, Hash<Symbol => Object>] Output image, Hash of optional output items
638
+
636
639
  # @!method self.eye(width, height, **opts)
637
640
  # Make an image showing the eye's spatial response.
638
641
  # @param width [Integer] Image width in pixels
@@ -854,6 +857,7 @@ module Vips
854
857
  # @param height [Integer] Image height in pixels
855
858
  # @param opts [Hash] Set of options
856
859
  # @option opts [Integer] :cell_size Size of Worley cells
860
+ # @option opts [Integer] :seed Random number seed
857
861
  # @return [Vips::Image] Output image
858
862
 
859
863
  # @!method self.perlin(width, height, **opts)
@@ -863,6 +867,7 @@ module Vips
863
867
  # @param opts [Hash] Set of options
864
868
  # @option opts [Integer] :cell_size Size of Perlin cells
865
869
  # @option opts [Boolean] :uchar Output an unsigned char image
870
+ # @option opts [Integer] :seed Random number seed
866
871
  # @return [Vips::Image] Output image
867
872
 
868
873
  # @!method self.switch(tests, **opts)
@@ -872,7 +877,7 @@ module Vips
872
877
  # @return [Vips::Image] Output image
873
878
 
874
879
  # @!method self.csvload(filename, **opts)
875
- # Load csv from file.
880
+ # Load csv.
876
881
  # @param filename [String] Filename to load from
877
882
  # @param opts [Hash] Set of options
878
883
  # @option opts [Integer] :skip Skip this many lines at the start of the file
@@ -887,8 +892,24 @@ module Vips
887
892
  # @option opts [Vips::ForeignFlags] :flags Output Flags for this file
888
893
  # @return [Vips::Image, Hash<Symbol => Object>] Output image, Hash of optional output items
889
894
 
895
+ # @!method self.csvload_source(source, **opts)
896
+ # Load csv.
897
+ # @param source [Vips::Source] Source to load from
898
+ # @param opts [Hash] Set of options
899
+ # @option opts [Integer] :skip Skip this many lines at the start of the file
900
+ # @option opts [Integer] :lines Read this many lines from the file
901
+ # @option opts [String] :whitespace Set of whitespace characters
902
+ # @option opts [String] :separator Set of separator characters
903
+ # @option opts [Boolean] :memory Force open via memory
904
+ # @option opts [Vips::Access] :access Required access pattern for this file
905
+ # @option opts [Boolean] :sequential Sequential read only
906
+ # @option opts [Boolean] :fail Fail on first error
907
+ # @option opts [Boolean] :disc Open to disc
908
+ # @option opts [Vips::ForeignFlags] :flags Output Flags for this file
909
+ # @return [Vips::Image, Hash<Symbol => Object>] Output image, Hash of optional output items
910
+
890
911
  # @!method self.matrixload(filename, **opts)
891
- # Load matrix from file.
912
+ # Load matrix.
892
913
  # @param filename [String] Filename to load from
893
914
  # @param opts [Hash] Set of options
894
915
  # @option opts [Boolean] :memory Force open via memory
@@ -899,6 +920,18 @@ module Vips
899
920
  # @option opts [Vips::ForeignFlags] :flags Output Flags for this file
900
921
  # @return [Vips::Image, Hash<Symbol => Object>] Output image, Hash of optional output items
901
922
 
923
+ # @!method self.matrixload_source(source, **opts)
924
+ # Load matrix.
925
+ # @param source [Vips::Source] Source to load from
926
+ # @param opts [Hash] Set of options
927
+ # @option opts [Boolean] :memory Force open via memory
928
+ # @option opts [Vips::Access] :access Required access pattern for this file
929
+ # @option opts [Boolean] :sequential Sequential read only
930
+ # @option opts [Boolean] :fail Fail on first error
931
+ # @option opts [Boolean] :disc Open to disc
932
+ # @option opts [Vips::ForeignFlags] :flags Output Flags for this file
933
+ # @return [Vips::Image, Hash<Symbol => Object>] Output image, Hash of optional output items
934
+
902
935
  # @!method self.rawload(filename, width, height, bands, **opts)
903
936
  # Load raw data from a file.
904
937
  # @param filename [String] Filename to load from
@@ -929,6 +962,18 @@ module Vips
929
962
  # @option opts [Vips::ForeignFlags] :flags Output Flags for this file
930
963
  # @return [Vips::Image, Hash<Symbol => Object>] Output image, Hash of optional output items
931
964
 
965
+ # @!method self.vipsload_source(source, **opts)
966
+ # Load vips from source.
967
+ # @param source [Vips::Source] Source to load from
968
+ # @param opts [Hash] Set of options
969
+ # @option opts [Boolean] :memory Force open via memory
970
+ # @option opts [Vips::Access] :access Required access pattern for this file
971
+ # @option opts [Boolean] :sequential Sequential read only
972
+ # @option opts [Boolean] :fail Fail on first error
973
+ # @option opts [Boolean] :disc Open to disc
974
+ # @option opts [Vips::ForeignFlags] :flags Output Flags for this file
975
+ # @return [Vips::Image, Hash<Symbol => Object>] Output image, Hash of optional output items
976
+
932
977
  # @!method self.analyzeload(filename, **opts)
933
978
  # Load an analyze6 image.
934
979
  # @param filename [String] Filename to load from
@@ -953,6 +998,18 @@ module Vips
953
998
  # @option opts [Vips::ForeignFlags] :flags Output Flags for this file
954
999
  # @return [Vips::Image, Hash<Symbol => Object>] Output image, Hash of optional output items
955
1000
 
1001
+ # @!method self.ppmload_source(source, **opts)
1002
+ # Load ppm base class.
1003
+ # @param source [Vips::Source] Source to load from
1004
+ # @param opts [Hash] Set of options
1005
+ # @option opts [Boolean] :memory Force open via memory
1006
+ # @option opts [Vips::Access] :access Required access pattern for this file
1007
+ # @option opts [Boolean] :sequential Sequential read only
1008
+ # @option opts [Boolean] :fail Fail on first error
1009
+ # @option opts [Boolean] :disc Open to disc
1010
+ # @option opts [Vips::ForeignFlags] :flags Output Flags for this file
1011
+ # @return [Vips::Image, Hash<Symbol => Object>] Output image, Hash of optional output items
1012
+
956
1013
  # @!method self.radload(filename, **opts)
957
1014
  # Load a radiance image from a file.
958
1015
  # @param filename [String] Filename to load from
@@ -989,15 +1046,13 @@ module Vips
989
1046
  # @option opts [Vips::ForeignFlags] :flags Output Flags for this file
990
1047
  # @return [Vips::Image, Hash<Symbol => Object>] Output image, Hash of optional output items
991
1048
 
992
- # @!method self.pdfload(filename, **opts)
993
- # Load pdf with libpoppler.
1049
+ # @!method self.svgload(filename, **opts)
1050
+ # Load svg with rsvg.
994
1051
  # @param filename [String] Filename to load from
995
1052
  # @param opts [Hash] Set of options
996
- # @option opts [Integer] :page Load this page from the file
997
- # @option opts [Integer] :n Load this many pages
998
1053
  # @option opts [Float] :dpi Render at this DPI
999
1054
  # @option opts [Float] :scale Scale output by this factor
1000
- # @option opts [Array<Double>] :background Background value
1055
+ # @option opts [Boolean] :unlimited Allow SVG of any size
1001
1056
  # @option opts [Boolean] :memory Force open via memory
1002
1057
  # @option opts [Vips::Access] :access Required access pattern for this file
1003
1058
  # @option opts [Boolean] :sequential Sequential read only
@@ -1006,15 +1061,13 @@ module Vips
1006
1061
  # @option opts [Vips::ForeignFlags] :flags Output Flags for this file
1007
1062
  # @return [Vips::Image, Hash<Symbol => Object>] Output image, Hash of optional output items
1008
1063
 
1009
- # @!method self.pdfload_buffer(buffer, **opts)
1010
- # Load pdf with libpoppler.
1064
+ # @!method self.svgload_buffer(buffer, **opts)
1065
+ # Load svg with rsvg.
1011
1066
  # @param buffer [VipsBlob] Buffer to load from
1012
1067
  # @param opts [Hash] Set of options
1013
- # @option opts [Integer] :page Load this page from the file
1014
- # @option opts [Integer] :n Load this many pages
1015
1068
  # @option opts [Float] :dpi Render at this DPI
1016
1069
  # @option opts [Float] :scale Scale output by this factor
1017
- # @option opts [Array<Double>] :background Background value
1070
+ # @option opts [Boolean] :unlimited Allow SVG of any size
1018
1071
  # @option opts [Boolean] :memory Force open via memory
1019
1072
  # @option opts [Vips::Access] :access Required access pattern for this file
1020
1073
  # @option opts [Boolean] :sequential Sequential read only
@@ -1023,9 +1076,9 @@ module Vips
1023
1076
  # @option opts [Vips::ForeignFlags] :flags Output Flags for this file
1024
1077
  # @return [Vips::Image, Hash<Symbol => Object>] Output image, Hash of optional output items
1025
1078
 
1026
- # @!method self.svgload(filename, **opts)
1027
- # Load svg with rsvg.
1028
- # @param filename [String] Filename to load from
1079
+ # @!method self.svgload_source(source, **opts)
1080
+ # Load svg from source.
1081
+ # @param source [Vips::Source] Source to load from
1029
1082
  # @param opts [Hash] Set of options
1030
1083
  # @option opts [Float] :dpi Render at this DPI
1031
1084
  # @option opts [Float] :scale Scale output by this factor
@@ -1038,13 +1091,10 @@ module Vips
1038
1091
  # @option opts [Vips::ForeignFlags] :flags Output Flags for this file
1039
1092
  # @return [Vips::Image, Hash<Symbol => Object>] Output image, Hash of optional output items
1040
1093
 
1041
- # @!method self.svgload(filename, **opts)
1042
- # Load svg with rsvg.
1094
+ # @!method self.jxlload(filename, **opts)
1095
+ # Load jpeg-xl image.
1043
1096
  # @param filename [String] Filename to load from
1044
1097
  # @param opts [Hash] Set of options
1045
- # @option opts [Float] :dpi Render at this DPI
1046
- # @option opts [Float] :scale Scale output by this factor
1047
- # @option opts [Boolean] :unlimited Allow SVG of any size
1048
1098
  # @option opts [Boolean] :memory Force open via memory
1049
1099
  # @option opts [Vips::Access] :access Required access pattern for this file
1050
1100
  # @option opts [Boolean] :sequential Sequential read only
@@ -1053,13 +1103,10 @@ module Vips
1053
1103
  # @option opts [Vips::ForeignFlags] :flags Output Flags for this file
1054
1104
  # @return [Vips::Image, Hash<Symbol => Object>] Output image, Hash of optional output items
1055
1105
 
1056
- # @!method self.svgload_buffer(buffer, **opts)
1057
- # Load svg with rsvg.
1106
+ # @!method self.jxlload_buffer(buffer, **opts)
1107
+ # Load jpeg-xl image.
1058
1108
  # @param buffer [VipsBlob] Buffer to load from
1059
1109
  # @param opts [Hash] Set of options
1060
- # @option opts [Float] :dpi Render at this DPI
1061
- # @option opts [Float] :scale Scale output by this factor
1062
- # @option opts [Boolean] :unlimited Allow SVG of any size
1063
1110
  # @option opts [Boolean] :memory Force open via memory
1064
1111
  # @option opts [Vips::Access] :access Required access pattern for this file
1065
1112
  # @option opts [Boolean] :sequential Sequential read only
@@ -1068,13 +1115,49 @@ module Vips
1068
1115
  # @option opts [Vips::ForeignFlags] :flags Output Flags for this file
1069
1116
  # @return [Vips::Image, Hash<Symbol => Object>] Output image, Hash of optional output items
1070
1117
 
1071
- # @!method self.svgload_source(source, **opts)
1072
- # Load svg from source.
1118
+ # @!method self.jxlload_source(source, **opts)
1119
+ # Load jpeg-xl image.
1073
1120
  # @param source [Vips::Source] Source to load from
1074
1121
  # @param opts [Hash] Set of options
1075
- # @option opts [Float] :dpi Render at this DPI
1076
- # @option opts [Float] :scale Scale output by this factor
1077
- # @option opts [Boolean] :unlimited Allow SVG of any size
1122
+ # @option opts [Boolean] :memory Force open via memory
1123
+ # @option opts [Vips::Access] :access Required access pattern for this file
1124
+ # @option opts [Boolean] :sequential Sequential read only
1125
+ # @option opts [Boolean] :fail Fail on first error
1126
+ # @option opts [Boolean] :disc Open to disc
1127
+ # @option opts [Vips::ForeignFlags] :flags Output Flags for this file
1128
+ # @return [Vips::Image, Hash<Symbol => Object>] Output image, Hash of optional output items
1129
+
1130
+ # @!method self.jp2kload(filename, **opts)
1131
+ # Load jpeg2000 image.
1132
+ # @param filename [String] Filename to load from
1133
+ # @param opts [Hash] Set of options
1134
+ # @option opts [Integer] :page Load this page from the image
1135
+ # @option opts [Boolean] :memory Force open via memory
1136
+ # @option opts [Vips::Access] :access Required access pattern for this file
1137
+ # @option opts [Boolean] :sequential Sequential read only
1138
+ # @option opts [Boolean] :fail Fail on first error
1139
+ # @option opts [Boolean] :disc Open to disc
1140
+ # @option opts [Vips::ForeignFlags] :flags Output Flags for this file
1141
+ # @return [Vips::Image, Hash<Symbol => Object>] Output image, Hash of optional output items
1142
+
1143
+ # @!method self.jp2kload_buffer(buffer, **opts)
1144
+ # Load jpeg2000 image.
1145
+ # @param buffer [VipsBlob] Buffer to load from
1146
+ # @param opts [Hash] Set of options
1147
+ # @option opts [Integer] :page Load this page from the image
1148
+ # @option opts [Boolean] :memory Force open via memory
1149
+ # @option opts [Vips::Access] :access Required access pattern for this file
1150
+ # @option opts [Boolean] :sequential Sequential read only
1151
+ # @option opts [Boolean] :fail Fail on first error
1152
+ # @option opts [Boolean] :disc Open to disc
1153
+ # @option opts [Vips::ForeignFlags] :flags Output Flags for this file
1154
+ # @return [Vips::Image, Hash<Symbol => Object>] Output image, Hash of optional output items
1155
+
1156
+ # @!method self.jp2kload_source(source, **opts)
1157
+ # Load jpeg2000 image.
1158
+ # @param source [Vips::Source] Source to load from
1159
+ # @param opts [Hash] Set of options
1160
+ # @option opts [Integer] :page Load this page from the image
1078
1161
  # @option opts [Boolean] :memory Force open via memory
1079
1162
  # @option opts [Vips::Access] :access Required access pattern for this file
1080
1163
  # @option opts [Boolean] :sequential Sequential read only
@@ -1084,11 +1167,11 @@ module Vips
1084
1167
  # @return [Vips::Image, Hash<Symbol => Object>] Output image, Hash of optional output items
1085
1168
 
1086
1169
  # @!method self.gifload(filename, **opts)
1087
- # Load gif with giflib.
1170
+ # Load gif with libnsgif.
1088
1171
  # @param filename [String] Filename to load from
1089
1172
  # @param opts [Hash] Set of options
1090
- # @option opts [Integer] :page Load this page from the file
1091
1173
  # @option opts [Integer] :n Load this many pages
1174
+ # @option opts [Integer] :page Load this page from the file
1092
1175
  # @option opts [Boolean] :memory Force open via memory
1093
1176
  # @option opts [Vips::Access] :access Required access pattern for this file
1094
1177
  # @option opts [Boolean] :sequential Sequential read only
@@ -1098,11 +1181,25 @@ module Vips
1098
1181
  # @return [Vips::Image, Hash<Symbol => Object>] Output image, Hash of optional output items
1099
1182
 
1100
1183
  # @!method self.gifload_buffer(buffer, **opts)
1101
- # Load gif with giflib.
1184
+ # Load gif with libnsgif.
1102
1185
  # @param buffer [VipsBlob] Buffer to load from
1103
1186
  # @param opts [Hash] Set of options
1187
+ # @option opts [Integer] :n Load this many pages
1104
1188
  # @option opts [Integer] :page Load this page from the file
1189
+ # @option opts [Boolean] :memory Force open via memory
1190
+ # @option opts [Vips::Access] :access Required access pattern for this file
1191
+ # @option opts [Boolean] :sequential Sequential read only
1192
+ # @option opts [Boolean] :fail Fail on first error
1193
+ # @option opts [Boolean] :disc Open to disc
1194
+ # @option opts [Vips::ForeignFlags] :flags Output Flags for this file
1195
+ # @return [Vips::Image, Hash<Symbol => Object>] Output image, Hash of optional output items
1196
+
1197
+ # @!method self.gifload_source(source, **opts)
1198
+ # Load gif from source.
1199
+ # @param source [Vips::Source] Source to load from
1200
+ # @param opts [Hash] Set of options
1105
1201
  # @option opts [Integer] :n Load this many pages
1202
+ # @option opts [Integer] :page Load this page from the file
1106
1203
  # @option opts [Boolean] :memory Force open via memory
1107
1204
  # @option opts [Vips::Access] :access Required access pattern for this file
1108
1205
  # @option opts [Boolean] :sequential Sequential read only
@@ -1254,6 +1351,7 @@ module Vips
1254
1351
  # @param filename [String] Filename to load from
1255
1352
  # @param opts [Hash] Set of options
1256
1353
  # @option opts [Integer] :page Load this page from the image
1354
+ # @option opts [Integer] :subifd Select subifd index
1257
1355
  # @option opts [Integer] :n Load this many pages
1258
1356
  # @option opts [Boolean] :autorotate Rotate image using orientation tag
1259
1357
  # @option opts [Boolean] :memory Force open via memory
@@ -1269,6 +1367,7 @@ module Vips
1269
1367
  # @param buffer [VipsBlob] Buffer to load from
1270
1368
  # @param opts [Hash] Set of options
1271
1369
  # @option opts [Integer] :page Load this page from the image
1370
+ # @option opts [Integer] :subifd Select subifd index
1272
1371
  # @option opts [Integer] :n Load this many pages
1273
1372
  # @option opts [Boolean] :autorotate Rotate image using orientation tag
1274
1373
  # @option opts [Boolean] :memory Force open via memory
@@ -1284,6 +1383,7 @@ module Vips
1284
1383
  # @param source [Vips::Source] Source to load from
1285
1384
  # @param opts [Hash] Set of options
1286
1385
  # @option opts [Integer] :page Load this page from the image
1386
+ # @option opts [Integer] :subifd Select subifd index
1287
1387
  # @option opts [Integer] :n Load this many pages
1288
1388
  # @option opts [Boolean] :autorotate Rotate image using orientation tag
1289
1389
  # @option opts [Boolean] :memory Force open via memory
@@ -1294,11 +1394,71 @@ module Vips
1294
1394
  # @option opts [Vips::ForeignFlags] :flags Output Flags for this file
1295
1395
  # @return [Vips::Image, Hash<Symbol => Object>] Output image, Hash of optional output items
1296
1396
 
1397
+ # @!method self.fitsload(filename, **opts)
1398
+ # Load a fits image.
1399
+ # @param filename [String] Filename to load from
1400
+ # @param opts [Hash] Set of options
1401
+ # @option opts [Boolean] :memory Force open via memory
1402
+ # @option opts [Vips::Access] :access Required access pattern for this file
1403
+ # @option opts [Boolean] :sequential Sequential read only
1404
+ # @option opts [Boolean] :fail Fail on first error
1405
+ # @option opts [Boolean] :disc Open to disc
1406
+ # @option opts [Vips::ForeignFlags] :flags Output Flags for this file
1407
+ # @return [Vips::Image, Hash<Symbol => Object>] Output image, Hash of optional output items
1408
+
1409
+ # @!method self.fitsload_source(source, **opts)
1410
+ # Load fits from a source.
1411
+ # @param source [Vips::Source] Source to load from
1412
+ # @param opts [Hash] Set of options
1413
+ # @option opts [Boolean] :memory Force open via memory
1414
+ # @option opts [Vips::Access] :access Required access pattern for this file
1415
+ # @option opts [Boolean] :sequential Sequential read only
1416
+ # @option opts [Boolean] :fail Fail on first error
1417
+ # @option opts [Boolean] :disc Open to disc
1418
+ # @option opts [Vips::ForeignFlags] :flags Output Flags for this file
1419
+ # @return [Vips::Image, Hash<Symbol => Object>] Output image, Hash of optional output items
1420
+
1421
+ # @!method self.openexrload(filename, **opts)
1422
+ # Load an openexr image.
1423
+ # @param filename [String] Filename to load from
1424
+ # @param opts [Hash] Set of options
1425
+ # @option opts [Boolean] :memory Force open via memory
1426
+ # @option opts [Vips::Access] :access Required access pattern for this file
1427
+ # @option opts [Boolean] :sequential Sequential read only
1428
+ # @option opts [Boolean] :fail Fail on first error
1429
+ # @option opts [Boolean] :disc Open to disc
1430
+ # @option opts [Vips::ForeignFlags] :flags Output Flags for this file
1431
+ # @return [Vips::Image, Hash<Symbol => Object>] Output image, Hash of optional output items
1432
+
1433
+ # @!method self.niftiload(filename, **opts)
1434
+ # Load nifti volume.
1435
+ # @param filename [String] Filename to load from
1436
+ # @param opts [Hash] Set of options
1437
+ # @option opts [Boolean] :memory Force open via memory
1438
+ # @option opts [Vips::Access] :access Required access pattern for this file
1439
+ # @option opts [Boolean] :sequential Sequential read only
1440
+ # @option opts [Boolean] :fail Fail on first error
1441
+ # @option opts [Boolean] :disc Open to disc
1442
+ # @option opts [Vips::ForeignFlags] :flags Output Flags for this file
1443
+ # @return [Vips::Image, Hash<Symbol => Object>] Output image, Hash of optional output items
1444
+
1445
+ # @!method self.niftiload_source(source, **opts)
1446
+ # Load nifti volumes.
1447
+ # @param source [Vips::Source] Source to load from
1448
+ # @param opts [Hash] Set of options
1449
+ # @option opts [Boolean] :memory Force open via memory
1450
+ # @option opts [Vips::Access] :access Required access pattern for this file
1451
+ # @option opts [Boolean] :sequential Sequential read only
1452
+ # @option opts [Boolean] :fail Fail on first error
1453
+ # @option opts [Boolean] :disc Open to disc
1454
+ # @option opts [Vips::ForeignFlags] :flags Output Flags for this file
1455
+ # @return [Vips::Image, Hash<Symbol => Object>] Output image, Hash of optional output items
1456
+
1297
1457
  # @!method self.openslideload(filename, **opts)
1298
1458
  # Load file with openslide.
1299
1459
  # @param filename [String] Filename to load from
1300
1460
  # @param opts [Hash] Set of options
1301
- # @option opts [Boolean] :attach_associated Attach all asssociated images
1461
+ # @option opts [Boolean] :attach_associated Attach all associated images
1302
1462
  # @option opts [Integer] :level Load this level from the file
1303
1463
  # @option opts [Boolean] :autocrop Crop to image bounds
1304
1464
  # @option opts [String] :associated Load this associated image
@@ -1310,14 +1470,30 @@ module Vips
1310
1470
  # @option opts [Vips::ForeignFlags] :flags Output Flags for this file
1311
1471
  # @return [Vips::Image, Hash<Symbol => Object>] Output image, Hash of optional output items
1312
1472
 
1313
- # @!method self.magickload(filename, **opts)
1314
- # Load file with imagemagick.
1473
+ # @!method self.openslideload_source(source, **opts)
1474
+ # Load source with openslide.
1475
+ # @param source [Vips::Source] Source to load from
1476
+ # @param opts [Hash] Set of options
1477
+ # @option opts [Boolean] :attach_associated Attach all associated images
1478
+ # @option opts [Integer] :level Load this level from the file
1479
+ # @option opts [Boolean] :autocrop Crop to image bounds
1480
+ # @option opts [String] :associated Load this associated image
1481
+ # @option opts [Boolean] :memory Force open via memory
1482
+ # @option opts [Vips::Access] :access Required access pattern for this file
1483
+ # @option opts [Boolean] :sequential Sequential read only
1484
+ # @option opts [Boolean] :fail Fail on first error
1485
+ # @option opts [Boolean] :disc Open to disc
1486
+ # @option opts [Vips::ForeignFlags] :flags Output Flags for this file
1487
+ # @return [Vips::Image, Hash<Symbol => Object>] Output image, Hash of optional output items
1488
+
1489
+ # @!method self.heifload(filename, **opts)
1490
+ # Load a heif image.
1315
1491
  # @param filename [String] Filename to load from
1316
1492
  # @param opts [Hash] Set of options
1317
- # @option opts [Boolean] :all_frames Read all frames from an image
1318
- # @option opts [String] :density Canvas resolution for rendering vector formats like SVG
1319
1493
  # @option opts [Integer] :page Load this page from the file
1320
1494
  # @option opts [Integer] :n Load this many pages
1495
+ # @option opts [Boolean] :thumbnail Fetch thumbnail image
1496
+ # @option opts [Boolean] :autorotate Rotate image using exif orientation
1321
1497
  # @option opts [Boolean] :memory Force open via memory
1322
1498
  # @option opts [Vips::Access] :access Required access pattern for this file
1323
1499
  # @option opts [Boolean] :sequential Sequential read only
@@ -1326,14 +1502,14 @@ module Vips
1326
1502
  # @option opts [Vips::ForeignFlags] :flags Output Flags for this file
1327
1503
  # @return [Vips::Image, Hash<Symbol => Object>] Output image, Hash of optional output items
1328
1504
 
1329
- # @!method self.magickload_buffer(buffer, **opts)
1330
- # Load buffer with imagemagick.
1505
+ # @!method self.heifload_buffer(buffer, **opts)
1506
+ # Load a heif image.
1331
1507
  # @param buffer [VipsBlob] Buffer to load from
1332
1508
  # @param opts [Hash] Set of options
1333
- # @option opts [Boolean] :all_frames Read all frames from an image
1334
- # @option opts [String] :density Canvas resolution for rendering vector formats like SVG
1335
1509
  # @option opts [Integer] :page Load this page from the file
1336
1510
  # @option opts [Integer] :n Load this many pages
1511
+ # @option opts [Boolean] :thumbnail Fetch thumbnail image
1512
+ # @option opts [Boolean] :autorotate Rotate image using exif orientation
1337
1513
  # @option opts [Boolean] :memory Force open via memory
1338
1514
  # @option opts [Vips::Access] :access Required access pattern for this file
1339
1515
  # @option opts [Boolean] :sequential Sequential read only
@@ -1342,10 +1518,14 @@ module Vips
1342
1518
  # @option opts [Vips::ForeignFlags] :flags Output Flags for this file
1343
1519
  # @return [Vips::Image, Hash<Symbol => Object>] Output image, Hash of optional output items
1344
1520
 
1345
- # @!method self.fitsload(filename, **opts)
1346
- # Load a fits image.
1347
- # @param filename [String] Filename to load from
1521
+ # @!method self.heifload_source(source, **opts)
1522
+ # Load a heif image.
1523
+ # @param source [Vips::Source] Source to load from
1348
1524
  # @param opts [Hash] Set of options
1525
+ # @option opts [Integer] :page Load this page from the file
1526
+ # @option opts [Integer] :n Load this many pages
1527
+ # @option opts [Boolean] :thumbnail Fetch thumbnail image
1528
+ # @option opts [Boolean] :autorotate Rotate image using exif orientation
1349
1529
  # @option opts [Boolean] :memory Force open via memory
1350
1530
  # @option opts [Vips::Access] :access Required access pattern for this file
1351
1531
  # @option opts [Boolean] :sequential Sequential read only
@@ -1354,10 +1534,15 @@ module Vips
1354
1534
  # @option opts [Vips::ForeignFlags] :flags Output Flags for this file
1355
1535
  # @return [Vips::Image, Hash<Symbol => Object>] Output image, Hash of optional output items
1356
1536
 
1357
- # @!method self.openexrload(filename, **opts)
1358
- # Load an openexr image.
1537
+ # @!method self.pdfload(filename, **opts)
1538
+ # Load pdf from file.
1359
1539
  # @param filename [String] Filename to load from
1360
1540
  # @param opts [Hash] Set of options
1541
+ # @option opts [Integer] :page Load this page from the file
1542
+ # @option opts [Integer] :n Load this many pages
1543
+ # @option opts [Float] :dpi Render at this DPI
1544
+ # @option opts [Float] :scale Scale output by this factor
1545
+ # @option opts [Array<Double>] :background Background value
1361
1546
  # @option opts [Boolean] :memory Force open via memory
1362
1547
  # @option opts [Vips::Access] :access Required access pattern for this file
1363
1548
  # @option opts [Boolean] :sequential Sequential read only
@@ -1366,10 +1551,15 @@ module Vips
1366
1551
  # @option opts [Vips::ForeignFlags] :flags Output Flags for this file
1367
1552
  # @return [Vips::Image, Hash<Symbol => Object>] Output image, Hash of optional output items
1368
1553
 
1369
- # @!method self.niftiload(filename, **opts)
1370
- # Load a nifti image.
1371
- # @param filename [String] Filename to load from
1554
+ # @!method self.pdfload_buffer(buffer, **opts)
1555
+ # Load pdf from buffer.
1556
+ # @param buffer [VipsBlob] Buffer to load from
1372
1557
  # @param opts [Hash] Set of options
1558
+ # @option opts [Integer] :page Load this page from the file
1559
+ # @option opts [Integer] :n Load this many pages
1560
+ # @option opts [Float] :dpi Render at this DPI
1561
+ # @option opts [Float] :scale Scale output by this factor
1562
+ # @option opts [Array<Double>] :background Background value
1373
1563
  # @option opts [Boolean] :memory Force open via memory
1374
1564
  # @option opts [Vips::Access] :access Required access pattern for this file
1375
1565
  # @option opts [Boolean] :sequential Sequential read only
@@ -1378,14 +1568,31 @@ module Vips
1378
1568
  # @option opts [Vips::ForeignFlags] :flags Output Flags for this file
1379
1569
  # @return [Vips::Image, Hash<Symbol => Object>] Output image, Hash of optional output items
1380
1570
 
1381
- # @!method self.heifload(filename, **opts)
1382
- # Load a heif image.
1571
+ # @!method self.pdfload_source(source, **opts)
1572
+ # Load pdf from source.
1573
+ # @param source [Vips::Source] Source to load from
1574
+ # @param opts [Hash] Set of options
1575
+ # @option opts [Integer] :page Load this page from the file
1576
+ # @option opts [Integer] :n Load this many pages
1577
+ # @option opts [Float] :dpi Render at this DPI
1578
+ # @option opts [Float] :scale Scale output by this factor
1579
+ # @option opts [Array<Double>] :background Background value
1580
+ # @option opts [Boolean] :memory Force open via memory
1581
+ # @option opts [Vips::Access] :access Required access pattern for this file
1582
+ # @option opts [Boolean] :sequential Sequential read only
1583
+ # @option opts [Boolean] :fail Fail on first error
1584
+ # @option opts [Boolean] :disc Open to disc
1585
+ # @option opts [Vips::ForeignFlags] :flags Output Flags for this file
1586
+ # @return [Vips::Image, Hash<Symbol => Object>] Output image, Hash of optional output items
1587
+
1588
+ # @!method self.magickload(filename, **opts)
1589
+ # Load file with imagemagick.
1383
1590
  # @param filename [String] Filename to load from
1384
1591
  # @param opts [Hash] Set of options
1592
+ # @option opts [Boolean] :all_frames Read all frames from an image
1593
+ # @option opts [String] :density Canvas resolution for rendering vector formats like SVG
1385
1594
  # @option opts [Integer] :page Load this page from the file
1386
1595
  # @option opts [Integer] :n Load this many pages
1387
- # @option opts [Boolean] :thumbnail Fetch thumbnail image
1388
- # @option opts [Boolean] :autorotate Rotate image using exif orientation
1389
1596
  # @option opts [Boolean] :memory Force open via memory
1390
1597
  # @option opts [Vips::Access] :access Required access pattern for this file
1391
1598
  # @option opts [Boolean] :sequential Sequential read only
@@ -1394,14 +1601,14 @@ module Vips
1394
1601
  # @option opts [Vips::ForeignFlags] :flags Output Flags for this file
1395
1602
  # @return [Vips::Image, Hash<Symbol => Object>] Output image, Hash of optional output items
1396
1603
 
1397
- # @!method self.heifload_buffer(buffer, **opts)
1398
- # Load a heif image.
1604
+ # @!method self.magickload_buffer(buffer, **opts)
1605
+ # Load buffer with imagemagick.
1399
1606
  # @param buffer [VipsBlob] Buffer to load from
1400
1607
  # @param opts [Hash] Set of options
1608
+ # @option opts [Boolean] :all_frames Read all frames from an image
1609
+ # @option opts [String] :density Canvas resolution for rendering vector formats like SVG
1401
1610
  # @option opts [Integer] :page Load this page from the file
1402
1611
  # @option opts [Integer] :n Load this many pages
1403
- # @option opts [Boolean] :thumbnail Fetch thumbnail image
1404
- # @option opts [Boolean] :autorotate Rotate image using exif orientation
1405
1612
  # @option opts [Boolean] :memory Force open via memory
1406
1613
  # @option opts [Vips::Access] :access Required access pattern for this file
1407
1614
  # @option opts [Boolean] :sequential Sequential read only
@@ -1411,7 +1618,7 @@ module Vips
1411
1618
  # @return [Vips::Image, Hash<Symbol => Object>] Output image, Hash of optional output items
1412
1619
 
1413
1620
  # @!method csvsave(filename, **opts)
1414
- # Save image to csv file.
1621
+ # Save image to csv.
1415
1622
  # @param filename [String] Filename to save to
1416
1623
  # @param opts [Hash] Set of options
1417
1624
  # @option opts [String] :separator Separator characters
@@ -1420,8 +1627,18 @@ module Vips
1420
1627
  # @option opts [Integer] :page_height Set page height for multipage save
1421
1628
  # @return [nil]
1422
1629
 
1630
+ # @!method csvsave_target(target, **opts)
1631
+ # Save image to csv.
1632
+ # @param target [Vips::Target] Target to save to
1633
+ # @param opts [Hash] Set of options
1634
+ # @option opts [String] :separator Separator characters
1635
+ # @option opts [Boolean] :strip Strip all metadata from image
1636
+ # @option opts [Array<Double>] :background Background value
1637
+ # @option opts [Integer] :page_height Set page height for multipage save
1638
+ # @return [nil]
1639
+
1423
1640
  # @!method matrixsave(filename, **opts)
1424
- # Save image to matrix file.
1641
+ # Save image to matrix.
1425
1642
  # @param filename [String] Filename to save to
1426
1643
  # @param opts [Hash] Set of options
1427
1644
  # @option opts [Boolean] :strip Strip all metadata from image
@@ -1429,6 +1646,15 @@ module Vips
1429
1646
  # @option opts [Integer] :page_height Set page height for multipage save
1430
1647
  # @return [nil]
1431
1648
 
1649
+ # @!method matrixsave_target(target, **opts)
1650
+ # Save image to matrix.
1651
+ # @param target [Vips::Target] Target to save to
1652
+ # @param opts [Hash] Set of options
1653
+ # @option opts [Boolean] :strip Strip all metadata from image
1654
+ # @option opts [Array<Double>] :background Background value
1655
+ # @option opts [Integer] :page_height Set page height for multipage save
1656
+ # @return [nil]
1657
+
1432
1658
  # @!method matrixprint(**opts)
1433
1659
  # Print matrix.
1434
1660
  # @param opts [Hash] Set of options
@@ -1456,7 +1682,7 @@ module Vips
1456
1682
  # @return [nil]
1457
1683
 
1458
1684
  # @!method vipssave(filename, **opts)
1459
- # Save image to vips file.
1685
+ # Save image to file in vips format.
1460
1686
  # @param filename [String] Filename to save to
1461
1687
  # @param opts [Hash] Set of options
1462
1688
  # @option opts [Boolean] :strip Strip all metadata from image
@@ -1464,12 +1690,34 @@ module Vips
1464
1690
  # @option opts [Integer] :page_height Set page height for multipage save
1465
1691
  # @return [nil]
1466
1692
 
1693
+ # @!method vipssave_target(target, **opts)
1694
+ # Save image to target in vips format.
1695
+ # @param target [Vips::Target] Target to save to
1696
+ # @param opts [Hash] Set of options
1697
+ # @option opts [Boolean] :strip Strip all metadata from image
1698
+ # @option opts [Array<Double>] :background Background value
1699
+ # @option opts [Integer] :page_height Set page height for multipage save
1700
+ # @return [nil]
1701
+
1467
1702
  # @!method ppmsave(filename, **opts)
1468
1703
  # Save image to ppm file.
1469
1704
  # @param filename [String] Filename to save to
1470
1705
  # @param opts [Hash] Set of options
1471
1706
  # @option opts [Boolean] :ascii save as ascii
1472
1707
  # @option opts [Boolean] :squash save as one bit
1708
+ # @option opts [Integer] :bitdepth set to 1 to write as a 1 bit image
1709
+ # @option opts [Boolean] :strip Strip all metadata from image
1710
+ # @option opts [Array<Double>] :background Background value
1711
+ # @option opts [Integer] :page_height Set page height for multipage save
1712
+ # @return [nil]
1713
+
1714
+ # @!method ppmsave_target(target, **opts)
1715
+ # Save to ppm.
1716
+ # @param target [Vips::Target] Target to save to
1717
+ # @param opts [Hash] Set of options
1718
+ # @option opts [Boolean] :ascii save as ascii
1719
+ # @option opts [Boolean] :squash save as one bit
1720
+ # @option opts [Integer] :bitdepth set to 1 to write as a 1 bit image
1473
1721
  # @option opts [Boolean] :strip Strip all metadata from image
1474
1722
  # @option opts [Array<Double>] :background Background value
1475
1723
  # @option opts [Integer] :page_height Set page height for multipage save
@@ -1501,6 +1749,88 @@ module Vips
1501
1749
  # @option opts [Integer] :page_height Set page height for multipage save
1502
1750
  # @return [nil]
1503
1751
 
1752
+ # @!method jxlsave(filename, **opts)
1753
+ # Save image in jpeg-xl format.
1754
+ # @param filename [String] Filename to load from
1755
+ # @param opts [Hash] Set of options
1756
+ # @option opts [Integer] :tier Decode speed tier
1757
+ # @option opts [Float] :distance Target butteraugli distance
1758
+ # @option opts [Integer] :effort Encoding effort
1759
+ # @option opts [Boolean] :lossless Enable lossless compression
1760
+ # @option opts [Integer] :Q Quality factor
1761
+ # @option opts [Boolean] :strip Strip all metadata from image
1762
+ # @option opts [Array<Double>] :background Background value
1763
+ # @option opts [Integer] :page_height Set page height for multipage save
1764
+ # @return [nil]
1765
+
1766
+ # @!method jxlsave_buffer(**opts)
1767
+ # Save image in jpeg-xl format.
1768
+ # @param opts [Hash] Set of options
1769
+ # @option opts [Integer] :tier Decode speed tier
1770
+ # @option opts [Float] :distance Target butteraugli distance
1771
+ # @option opts [Integer] :effort Encoding effort
1772
+ # @option opts [Boolean] :lossless Enable lossless compression
1773
+ # @option opts [Integer] :Q Quality factor
1774
+ # @option opts [Boolean] :strip Strip all metadata from image
1775
+ # @option opts [Array<Double>] :background Background value
1776
+ # @option opts [Integer] :page_height Set page height for multipage save
1777
+ # @return [VipsBlob] Buffer to save to
1778
+
1779
+ # @!method jxlsave_target(target, **opts)
1780
+ # Save image in jpeg-xl format.
1781
+ # @param target [Vips::Target] Target to save to
1782
+ # @param opts [Hash] Set of options
1783
+ # @option opts [Integer] :tier Decode speed tier
1784
+ # @option opts [Float] :distance Target butteraugli distance
1785
+ # @option opts [Integer] :effort Encoding effort
1786
+ # @option opts [Boolean] :lossless Enable lossless compression
1787
+ # @option opts [Integer] :Q Quality factor
1788
+ # @option opts [Boolean] :strip Strip all metadata from image
1789
+ # @option opts [Array<Double>] :background Background value
1790
+ # @option opts [Integer] :page_height Set page height for multipage save
1791
+ # @return [nil]
1792
+
1793
+ # @!method jp2ksave(filename, **opts)
1794
+ # Save image in jpeg2000 format.
1795
+ # @param filename [String] Filename to load from
1796
+ # @param opts [Hash] Set of options
1797
+ # @option opts [Integer] :tile_width Tile width in pixels
1798
+ # @option opts [Integer] :tile_height Tile height in pixels
1799
+ # @option opts [Boolean] :lossless Enable lossless compression
1800
+ # @option opts [Integer] :Q Q factor
1801
+ # @option opts [Vips::ForeignSubsample] :subsample_mode Select chroma subsample operation mode
1802
+ # @option opts [Boolean] :strip Strip all metadata from image
1803
+ # @option opts [Array<Double>] :background Background value
1804
+ # @option opts [Integer] :page_height Set page height for multipage save
1805
+ # @return [nil]
1806
+
1807
+ # @!method jp2ksave_buffer(**opts)
1808
+ # Save image in jpeg2000 format.
1809
+ # @param opts [Hash] Set of options
1810
+ # @option opts [Integer] :tile_width Tile width in pixels
1811
+ # @option opts [Integer] :tile_height Tile height in pixels
1812
+ # @option opts [Boolean] :lossless Enable lossless compression
1813
+ # @option opts [Integer] :Q Q factor
1814
+ # @option opts [Vips::ForeignSubsample] :subsample_mode Select chroma subsample operation mode
1815
+ # @option opts [Boolean] :strip Strip all metadata from image
1816
+ # @option opts [Array<Double>] :background Background value
1817
+ # @option opts [Integer] :page_height Set page height for multipage save
1818
+ # @return [VipsBlob] Buffer to save to
1819
+
1820
+ # @!method jp2ksave_target(target, **opts)
1821
+ # Save image in jpeg2000 format.
1822
+ # @param target [Vips::Target] Target to save to
1823
+ # @param opts [Hash] Set of options
1824
+ # @option opts [Integer] :tile_width Tile width in pixels
1825
+ # @option opts [Integer] :tile_height Tile height in pixels
1826
+ # @option opts [Boolean] :lossless Enable lossless compression
1827
+ # @option opts [Integer] :Q Q factor
1828
+ # @option opts [Vips::ForeignSubsample] :subsample_mode Select chroma subsample operation mode
1829
+ # @option opts [Boolean] :strip Strip all metadata from image
1830
+ # @option opts [Array<Double>] :background Background value
1831
+ # @option opts [Integer] :page_height Set page height for multipage save
1832
+ # @return [nil]
1833
+
1504
1834
  # @!method dzsave(filename, **opts)
1505
1835
  # Save image to deepzoom file.
1506
1836
  # @param filename [String] Filename to save to
@@ -1522,6 +1852,7 @@ module Vips
1522
1852
  # @option opts [Vips::RegionShrink] :region_shrink Method to shrink regions
1523
1853
  # @option opts [Integer] :skip_blanks Skip tiles which are nearly equal to the background
1524
1854
  # @option opts [Boolean] :no_strip Don't strip tile metadata
1855
+ # @option opts [String] :id Resource ID
1525
1856
  # @option opts [Boolean] :strip Strip all metadata from image
1526
1857
  # @option opts [Array<Double>] :background Background value
1527
1858
  # @option opts [Integer] :page_height Set page height for multipage save
@@ -1547,6 +1878,7 @@ module Vips
1547
1878
  # @option opts [Vips::RegionShrink] :region_shrink Method to shrink regions
1548
1879
  # @option opts [Integer] :skip_blanks Skip tiles which are nearly equal to the background
1549
1880
  # @option opts [Boolean] :no_strip Don't strip tile metadata
1881
+ # @option opts [String] :id Resource ID
1550
1882
  # @option opts [Boolean] :strip Strip all metadata from image
1551
1883
  # @option opts [Array<Double>] :background Background value
1552
1884
  # @option opts [Integer] :page_height Set page height for multipage save
@@ -1564,6 +1896,7 @@ module Vips
1564
1896
  # @option opts [Integer] :colours Max number of palette colours
1565
1897
  # @option opts [Integer] :Q Quantisation quality
1566
1898
  # @option opts [Float] :dither Amount of dithering
1899
+ # @option opts [Integer] :bitdepth Write as a 1, 2, 4 or 8 bit image
1567
1900
  # @option opts [Boolean] :strip Strip all metadata from image
1568
1901
  # @option opts [Array<Double>] :background Background value
1569
1902
  # @option opts [Integer] :page_height Set page height for multipage save
@@ -1580,6 +1913,7 @@ module Vips
1580
1913
  # @option opts [Integer] :colours Max number of palette colours
1581
1914
  # @option opts [Integer] :Q Quantisation quality
1582
1915
  # @option opts [Float] :dither Amount of dithering
1916
+ # @option opts [Integer] :bitdepth Write as a 1, 2, 4 or 8 bit image
1583
1917
  # @option opts [Boolean] :strip Strip all metadata from image
1584
1918
  # @option opts [Array<Double>] :background Background value
1585
1919
  # @option opts [Integer] :page_height Set page height for multipage save
@@ -1597,6 +1931,7 @@ module Vips
1597
1931
  # @option opts [Integer] :colours Max number of palette colours
1598
1932
  # @option opts [Integer] :Q Quantisation quality
1599
1933
  # @option opts [Float] :dither Amount of dithering
1934
+ # @option opts [Integer] :bitdepth Write as a 1, 2, 4 or 8 bit image
1600
1935
  # @option opts [Boolean] :strip Strip all metadata from image
1601
1936
  # @option opts [Array<Double>] :background Background value
1602
1937
  # @option opts [Integer] :page_height Set page height for multipage save
@@ -1615,6 +1950,7 @@ module Vips
1615
1950
  # @option opts [Boolean] :overshoot_deringing Apply overshooting to samples with extreme values
1616
1951
  # @option opts [Boolean] :optimize_scans Split spectrum of DCT coefficients into separate scans
1617
1952
  # @option opts [Integer] :quant_table Use predefined quantization table with given index
1953
+ # @option opts [Vips::ForeignSubsample] :subsample_mode Select chroma subsample operation mode
1618
1954
  # @option opts [Boolean] :strip Strip all metadata from image
1619
1955
  # @option opts [Array<Double>] :background Background value
1620
1956
  # @option opts [Integer] :page_height Set page height for multipage save
@@ -1632,6 +1968,7 @@ module Vips
1632
1968
  # @option opts [Boolean] :overshoot_deringing Apply overshooting to samples with extreme values
1633
1969
  # @option opts [Boolean] :optimize_scans Split spectrum of DCT coefficients into separate scans
1634
1970
  # @option opts [Integer] :quant_table Use predefined quantization table with given index
1971
+ # @option opts [Vips::ForeignSubsample] :subsample_mode Select chroma subsample operation mode
1635
1972
  # @option opts [Boolean] :strip Strip all metadata from image
1636
1973
  # @option opts [Array<Double>] :background Background value
1637
1974
  # @option opts [Integer] :page_height Set page height for multipage save
@@ -1650,6 +1987,7 @@ module Vips
1650
1987
  # @option opts [Boolean] :overshoot_deringing Apply overshooting to samples with extreme values
1651
1988
  # @option opts [Boolean] :optimize_scans Split spectrum of DCT coefficients into separate scans
1652
1989
  # @option opts [Integer] :quant_table Use predefined quantization table with given index
1990
+ # @option opts [Vips::ForeignSubsample] :subsample_mode Select chroma subsample operation mode
1653
1991
  # @option opts [Boolean] :strip Strip all metadata from image
1654
1992
  # @option opts [Array<Double>] :background Background value
1655
1993
  # @option opts [Integer] :page_height Set page height for multipage save
@@ -1667,6 +2005,7 @@ module Vips
1667
2005
  # @option opts [Boolean] :overshoot_deringing Apply overshooting to samples with extreme values
1668
2006
  # @option opts [Boolean] :optimize_scans Split spectrum of DCT coefficients into separate scans
1669
2007
  # @option opts [Integer] :quant_table Use predefined quantization table with given index
2008
+ # @option opts [Vips::ForeignSubsample] :subsample_mode Select chroma subsample operation mode
1670
2009
  # @option opts [Boolean] :strip Strip all metadata from image
1671
2010
  # @option opts [Array<Double>] :background Background value
1672
2011
  # @option opts [Integer] :page_height Set page height for multipage save
@@ -1686,6 +2025,7 @@ module Vips
1686
2025
  # @option opts [Integer] :kmin Minimum number of frames between key frames
1687
2026
  # @option opts [Integer] :kmax Maximum number of frames between key frames
1688
2027
  # @option opts [Integer] :reduction_effort Level of CPU effort to reduce file size
2028
+ # @option opts [String] :profile ICC profile to embed
1689
2029
  # @option opts [Boolean] :strip Strip all metadata from image
1690
2030
  # @option opts [Array<Double>] :background Background value
1691
2031
  # @option opts [Integer] :page_height Set page height for multipage save
@@ -1704,6 +2044,7 @@ module Vips
1704
2044
  # @option opts [Integer] :kmin Minimum number of frames between key frames
1705
2045
  # @option opts [Integer] :kmax Maximum number of frames between key frames
1706
2046
  # @option opts [Integer] :reduction_effort Level of CPU effort to reduce file size
2047
+ # @option opts [String] :profile ICC profile to embed
1707
2048
  # @option opts [Boolean] :strip Strip all metadata from image
1708
2049
  # @option opts [Array<Double>] :background Background value
1709
2050
  # @option opts [Integer] :page_height Set page height for multipage save
@@ -1723,6 +2064,7 @@ module Vips
1723
2064
  # @option opts [Integer] :kmin Minimum number of frames between key frames
1724
2065
  # @option opts [Integer] :kmax Maximum number of frames between key frames
1725
2066
  # @option opts [Integer] :reduction_effort Level of CPU effort to reduce file size
2067
+ # @option opts [String] :profile ICC profile to embed
1726
2068
  # @option opts [Boolean] :strip Strip all metadata from image
1727
2069
  # @option opts [Array<Double>] :background Background value
1728
2070
  # @option opts [Integer] :page_height Set page height for multipage save
@@ -1740,8 +2082,9 @@ module Vips
1740
2082
  # @option opts [Integer] :tile_width Tile width in pixels
1741
2083
  # @option opts [Integer] :tile_height Tile height in pixels
1742
2084
  # @option opts [Boolean] :pyramid Write a pyramidal tiff
1743
- # @option opts [Boolean] :miniswhite Use 0 for white in 1-bit images
1744
2085
  # @option opts [Boolean] :squash Squash images down to 1 bit
2086
+ # @option opts [Boolean] :miniswhite Use 0 for white in 1-bit images
2087
+ # @option opts [Integer] :bitdepth Write as a 1, 2, 4 or 8 bit image
1745
2088
  # @option opts [Vips::ForeignTiffResunit] :resunit Resolution unit
1746
2089
  # @option opts [Float] :xres Horizontal resolution in pixels/mm
1747
2090
  # @option opts [Float] :yres Vertical resolution in pixels/mm
@@ -1751,6 +2094,9 @@ module Vips
1751
2094
  # @option opts [Vips::RegionShrink] :region_shrink Method to shrink regions
1752
2095
  # @option opts [Integer] :level ZSTD compression level
1753
2096
  # @option opts [Boolean] :lossless Enable WEBP lossless mode
2097
+ # @option opts [Vips::ForeignDzDepth] :depth Pyramid depth
2098
+ # @option opts [Boolean] :subifd Save pyr layers as sub-IFDs
2099
+ # @option opts [Boolean] :premultiply Save with premultiplied alpha
1754
2100
  # @option opts [Boolean] :strip Strip all metadata from image
1755
2101
  # @option opts [Array<Double>] :background Background value
1756
2102
  # @option opts [Integer] :page_height Set page height for multipage save
@@ -1767,8 +2113,9 @@ module Vips
1767
2113
  # @option opts [Integer] :tile_width Tile width in pixels
1768
2114
  # @option opts [Integer] :tile_height Tile height in pixels
1769
2115
  # @option opts [Boolean] :pyramid Write a pyramidal tiff
1770
- # @option opts [Boolean] :miniswhite Use 0 for white in 1-bit images
1771
2116
  # @option opts [Boolean] :squash Squash images down to 1 bit
2117
+ # @option opts [Boolean] :miniswhite Use 0 for white in 1-bit images
2118
+ # @option opts [Integer] :bitdepth Write as a 1, 2, 4 or 8 bit image
1772
2119
  # @option opts [Vips::ForeignTiffResunit] :resunit Resolution unit
1773
2120
  # @option opts [Float] :xres Horizontal resolution in pixels/mm
1774
2121
  # @option opts [Float] :yres Vertical resolution in pixels/mm
@@ -1778,31 +2125,9 @@ module Vips
1778
2125
  # @option opts [Vips::RegionShrink] :region_shrink Method to shrink regions
1779
2126
  # @option opts [Integer] :level ZSTD compression level
1780
2127
  # @option opts [Boolean] :lossless Enable WEBP lossless mode
1781
- # @option opts [Boolean] :strip Strip all metadata from image
1782
- # @option opts [Array<Double>] :background Background value
1783
- # @option opts [Integer] :page_height Set page height for multipage save
1784
- # @return [VipsBlob] Buffer to save to
1785
-
1786
- # @!method magicksave(filename, **opts)
1787
- # Save file with imagemagick.
1788
- # @param filename [String] Filename to save to
1789
- # @param opts [Hash] Set of options
1790
- # @option opts [String] :format Format to save in
1791
- # @option opts [Integer] :quality Quality to use
1792
- # @option opts [Boolean] :optimize_gif_frames Apply GIF frames optimization
1793
- # @option opts [Boolean] :optimize_gif_transparency Apply GIF transparency optimization
1794
- # @option opts [Boolean] :strip Strip all metadata from image
1795
- # @option opts [Array<Double>] :background Background value
1796
- # @option opts [Integer] :page_height Set page height for multipage save
1797
- # @return [nil]
1798
-
1799
- # @!method magicksave_buffer(**opts)
1800
- # Save image to magick buffer.
1801
- # @param opts [Hash] Set of options
1802
- # @option opts [String] :format Format to save in
1803
- # @option opts [Integer] :quality Quality to use
1804
- # @option opts [Boolean] :optimize_gif_frames Apply GIF frames optimization
1805
- # @option opts [Boolean] :optimize_gif_transparency Apply GIF transparency optimization
2128
+ # @option opts [Vips::ForeignDzDepth] :depth Pyramid depth
2129
+ # @option opts [Boolean] :subifd Save pyr layers as sub-IFDs
2130
+ # @option opts [Boolean] :premultiply Save with premultiplied alpha
1806
2131
  # @option opts [Boolean] :strip Strip all metadata from image
1807
2132
  # @option opts [Array<Double>] :background Background value
1808
2133
  # @option opts [Integer] :page_height Set page height for multipage save
@@ -1828,11 +2153,13 @@ module Vips
1828
2153
 
1829
2154
  # @!method heifsave(filename, **opts)
1830
2155
  # Save image in heif format.
1831
- # @param filename [String] Filename to load from
2156
+ # @param filename [String] Filename to save to
1832
2157
  # @param opts [Hash] Set of options
1833
2158
  # @option opts [Integer] :Q Q factor
1834
2159
  # @option opts [Boolean] :lossless Enable lossless compression
1835
2160
  # @option opts [Vips::ForeignHeifCompression] :compression Compression format
2161
+ # @option opts [Integer] :speed CPU effort
2162
+ # @option opts [Vips::ForeignSubsample] :subsample_mode Select chroma subsample operation mode
1836
2163
  # @option opts [Boolean] :strip Strip all metadata from image
1837
2164
  # @option opts [Array<Double>] :background Background value
1838
2165
  # @option opts [Integer] :page_height Set page height for multipage save
@@ -1844,6 +2171,47 @@ module Vips
1844
2171
  # @option opts [Integer] :Q Q factor
1845
2172
  # @option opts [Boolean] :lossless Enable lossless compression
1846
2173
  # @option opts [Vips::ForeignHeifCompression] :compression Compression format
2174
+ # @option opts [Integer] :speed CPU effort
2175
+ # @option opts [Vips::ForeignSubsample] :subsample_mode Select chroma subsample operation mode
2176
+ # @option opts [Boolean] :strip Strip all metadata from image
2177
+ # @option opts [Array<Double>] :background Background value
2178
+ # @option opts [Integer] :page_height Set page height for multipage save
2179
+ # @return [VipsBlob] Buffer to save to
2180
+
2181
+ # @!method heifsave_target(target, **opts)
2182
+ # Save image in heif format.
2183
+ # @param target [Vips::Target] Target to save to
2184
+ # @param opts [Hash] Set of options
2185
+ # @option opts [Integer] :Q Q factor
2186
+ # @option opts [Boolean] :lossless Enable lossless compression
2187
+ # @option opts [Vips::ForeignHeifCompression] :compression Compression format
2188
+ # @option opts [Integer] :speed CPU effort
2189
+ # @option opts [Vips::ForeignSubsample] :subsample_mode Select chroma subsample operation mode
2190
+ # @option opts [Boolean] :strip Strip all metadata from image
2191
+ # @option opts [Array<Double>] :background Background value
2192
+ # @option opts [Integer] :page_height Set page height for multipage save
2193
+ # @return [nil]
2194
+
2195
+ # @!method magicksave(filename, **opts)
2196
+ # Save file with imagemagick.
2197
+ # @param filename [String] Filename to save to
2198
+ # @param opts [Hash] Set of options
2199
+ # @option opts [String] :format Format to save in
2200
+ # @option opts [Integer] :quality Quality to use
2201
+ # @option opts [Boolean] :optimize_gif_frames Apply GIF frames optimization
2202
+ # @option opts [Boolean] :optimize_gif_transparency Apply GIF transparency optimization
2203
+ # @option opts [Boolean] :strip Strip all metadata from image
2204
+ # @option opts [Array<Double>] :background Background value
2205
+ # @option opts [Integer] :page_height Set page height for multipage save
2206
+ # @return [nil]
2207
+
2208
+ # @!method magicksave_buffer(**opts)
2209
+ # Save image to magick buffer.
2210
+ # @param opts [Hash] Set of options
2211
+ # @option opts [String] :format Format to save in
2212
+ # @option opts [Integer] :quality Quality to use
2213
+ # @option opts [Boolean] :optimize_gif_frames Apply GIF frames optimization
2214
+ # @option opts [Boolean] :optimize_gif_transparency Apply GIF transparency optimization
1847
2215
  # @option opts [Boolean] :strip Strip all metadata from image
1848
2216
  # @option opts [Array<Double>] :background Background value
1849
2217
  # @option opts [Integer] :page_height Set page height for multipage save
@@ -1991,6 +2359,7 @@ module Vips
1991
2359
  # @option opts [Float] :idx Horizontal input displacement
1992
2360
  # @option opts [Float] :idy Vertical input displacement
1993
2361
  # @option opts [Array<Double>] :background Background value
2362
+ # @option opts [Boolean] :premultiplied Images have premultiplied alpha
1994
2363
  # @option opts [Vips::Extend] :extend How to generate the extra pixels
1995
2364
  # @return [Vips::Image] Output image
1996
2365
 
@@ -2150,6 +2519,7 @@ module Vips
2150
2519
  # @param opts [Hash] Set of options
2151
2520
  # @option opts [Vips::PCS] :pcs Set Profile Connection Space
2152
2521
  # @option opts [Vips::Intent] :intent Rendering intent
2522
+ # @option opts [Boolean] :black_point_compensation Enable black point compensation
2153
2523
  # @option opts [Boolean] :embedded Use embedded input profile, if available
2154
2524
  # @option opts [String] :input_profile Filename to load input profile from
2155
2525
  # @return [Vips::Image] Output image
@@ -2159,6 +2529,7 @@ module Vips
2159
2529
  # @param opts [Hash] Set of options
2160
2530
  # @option opts [Vips::PCS] :pcs Set Profile Connection Space
2161
2531
  # @option opts [Vips::Intent] :intent Rendering intent
2532
+ # @option opts [Boolean] :black_point_compensation Enable black point compensation
2162
2533
  # @option opts [String] :output_profile Filename to load output profile from
2163
2534
  # @option opts [Integer] :depth Output device space depth in bits
2164
2535
  # @return [Vips::Image] Output image
@@ -2169,6 +2540,7 @@ module Vips
2169
2540
  # @param opts [Hash] Set of options
2170
2541
  # @option opts [Vips::PCS] :pcs Set Profile Connection Space
2171
2542
  # @option opts [Vips::Intent] :intent Rendering intent
2543
+ # @option opts [Boolean] :black_point_compensation Enable black point compensation
2172
2544
  # @option opts [Boolean] :embedded Use embedded input profile, if available
2173
2545
  # @option opts [String] :input_profile Filename to load input profile from
2174
2546
  # @option opts [Integer] :depth Output device space depth in bits
@@ -2537,7 +2909,7 @@ module Vips
2537
2909
  # @!method merge(sec, direction, dx, dy, **opts)
2538
2910
  # Merge two images.
2539
2911
  # @param sec [Vips::Image] Secondary image
2540
- # @param direction [Vips::Direction] Horizontal or vertcial merge
2912
+ # @param direction [Vips::Direction] Horizontal or vertical merge
2541
2913
  # @param dx [Integer] Horizontal displacement from sec to ref
2542
2914
  # @param dy [Integer] Vertical displacement from sec to ref
2543
2915
  # @param opts [Hash] Set of options
@@ -2547,7 +2919,7 @@ module Vips
2547
2919
  # @!method mosaic(sec, direction, xref, yref, xsec, ysec, **opts)
2548
2920
  # Mosaic two images.
2549
2921
  # @param sec [Vips::Image] Secondary image
2550
- # @param direction [Vips::Direction] Horizontal or vertcial mosaic
2922
+ # @param direction [Vips::Direction] Horizontal or vertical mosaic
2551
2923
  # @param xref [Integer] Position of reference tie-point
2552
2924
  # @param yref [Integer] Position of reference tie-point
2553
2925
  # @param xsec [Integer] Position of secondary tie-point
@@ -2568,7 +2940,7 @@ module Vips
2568
2940
  # @!method mosaic1(sec, direction, xr1, yr1, xs1, ys1, xr2, yr2, xs2, ys2, **opts)
2569
2941
  # First-order mosaic of two images.
2570
2942
  # @param sec [Vips::Image] Secondary image
2571
- # @param direction [Vips::Direction] Horizontal or vertcial mosaic
2943
+ # @param direction [Vips::Direction] Horizontal or vertical mosaic
2572
2944
  # @param xr1 [Integer] Position of first reference tie-point
2573
2945
  # @param yr1 [Integer] Position of first reference tie-point
2574
2946
  # @param xs1 [Integer] Position of first secondary tie-point
@@ -2586,6 +2958,11 @@ module Vips
2586
2958
  # @option opts [Integer] :bandno Band to search for features on
2587
2959
  # @return [Vips::Image] Output image
2588
2960
 
2961
+ # @!method matrixinvert(**opts)
2962
+ # Invert an matrix.
2963
+ # @param opts [Hash] Set of options
2964
+ # @return [Vips::Image] Output matrix
2965
+
2589
2966
  # @!method match(sec, xr1, yr1, xs1, ys1, xr2, yr2, xs2, ys2, **opts)
2590
2967
  # First-order match of two images.
2591
2968
  # @param sec [Vips::Image] Secondary image