ruby-vips 2.0.17 → 2.1.3

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.
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