ruby-vips 2.1.0 → 2.1.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +5 -0
- data/TODO +2 -3
- data/VERSION +1 -1
- data/lib/vips/image.rb +17 -13
- data/lib/vips/methods.rb +338 -111
- data/lib/vips/mutableimage.rb +23 -4
- data/lib/vips/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c77f69e33910d95f8f678cff9787066e2af91cd889f24ec3834dcfaf78ee5cfc
|
4
|
+
data.tar.gz: 140effde4d987fff3e293034b0967245aa4f914ba603d8bce41010d0ec1a63ba
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 28b7309c3a0744b29c5d100b898aab3521cc07a17667d4041db3d5194db537336bdda578e25fddb79be929c0ac32a246fb47f08862c5273fc94c2e390cc5874c
|
7
|
+
data.tar.gz: d428e645d302329a9544819a188b7b010f1e265086a064cd2480dc5213d61a9ef78b0da5381a6f8bd85754ac5c8f2ce6f253701afb27e3180e157d1e807294d3
|
data/CHANGELOG.md
CHANGED
data/TODO
CHANGED
@@ -37,9 +37,8 @@
|
|
37
37
|
|
38
38
|
- Push new gem to rubygems, tag repository with version.
|
39
39
|
|
40
|
-
|
40
|
+
gem signin --otp 111111
|
41
41
|
bundle exec rake release
|
42
42
|
|
43
|
-
|
44
|
-
press return and the upload should work.
|
43
|
+
The otp is from authy / google authenticator / etc.
|
45
44
|
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
2.1.
|
1
|
+
2.1.1
|
data/lib/vips/image.rb
CHANGED
@@ -1129,14 +1129,10 @@ module Vips
|
|
1129
1129
|
end
|
1130
1130
|
end
|
1131
1131
|
|
1132
|
-
# Convert to an
|
1132
|
+
# Convert to an Enumerator. Similar to `#to_a` but lazier.
|
1133
1133
|
#
|
1134
|
-
# @return [
|
1135
|
-
def
|
1136
|
-
# we render the image to a big string, then unpack
|
1137
|
-
# as a Ruby array of the correct type
|
1138
|
-
memory = write_to_memory
|
1139
|
-
|
1134
|
+
# @return [Enumerator] Enumerator of Enumerators of Arrays of Numerics
|
1135
|
+
def to_enum
|
1140
1136
|
# make the template for unpack
|
1141
1137
|
template = {
|
1142
1138
|
char: "c",
|
@@ -1151,14 +1147,22 @@ module Vips
|
|
1151
1147
|
dpcomplex: "d"
|
1152
1148
|
}[format] + "*"
|
1153
1149
|
|
1154
|
-
#
|
1155
|
-
array
|
1150
|
+
# we render the image to a big string, then unpack into
|
1151
|
+
# one-dimensional array as a Ruby array of the correct type
|
1152
|
+
array = write_to_memory.unpack template
|
1153
|
+
|
1154
|
+
# gather bands of a pixel together
|
1155
|
+
pixel_array = array.each_slice bands
|
1156
1156
|
|
1157
|
-
# gather
|
1158
|
-
pixel_array
|
1157
|
+
# gather pixels of a row together
|
1158
|
+
pixel_array.each_slice width
|
1159
|
+
end
|
1159
1160
|
|
1160
|
-
|
1161
|
-
|
1161
|
+
# Convert to an Array. This will be slow for large images.
|
1162
|
+
#
|
1163
|
+
# @return [Array] Array of Arrays of Arrays of Numerics
|
1164
|
+
def to_a
|
1165
|
+
to_enum.to_a
|
1162
1166
|
end
|
1163
1167
|
|
1164
1168
|
# Return the largest integral value not greater than the argument.
|
data/lib/vips/methods.rb
CHANGED
@@ -590,21 +590,6 @@ module Vips
|
|
590
590
|
# @option opts [Integer] :seed Random number seed
|
591
591
|
# @return [Vips::Image] Output image
|
592
592
|
|
593
|
-
# @!method self.text(text, **opts)
|
594
|
-
# Make a text image.
|
595
|
-
# @param text [String] Text to render
|
596
|
-
# @param opts [Hash] Set of options
|
597
|
-
# @option opts [String] :font Font to render with
|
598
|
-
# @option opts [Integer] :width Maximum image width in pixels
|
599
|
-
# @option opts [Integer] :height Maximum image height in pixels
|
600
|
-
# @option opts [Vips::Align] :align Align on the low, centre or high edge
|
601
|
-
# @option opts [Integer] :dpi DPI to render at
|
602
|
-
# @option opts [Boolean] :justify Justify lines
|
603
|
-
# @option opts [Integer] :spacing Line spacing
|
604
|
-
# @option opts [String] :fontfile Load this font file
|
605
|
-
# @option opts [Integer] :autofit_dpi Output DPI selected by autofit
|
606
|
-
# @return [Vips::Image, Hash<Symbol => Object>] Output image, Hash of optional output items
|
607
|
-
|
608
593
|
# @!method self.xyz(width, height, **opts)
|
609
594
|
# Make an image where pixel values are coordinates.
|
610
595
|
# @param width [Integer] Image width in pixels
|
@@ -635,6 +620,22 @@ module Vips
|
|
635
620
|
# @option opts [Vips::Precision] :precision Generate with this precision
|
636
621
|
# @return [Vips::Image] Output image
|
637
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
|
+
|
638
639
|
# @!method self.eye(width, height, **opts)
|
639
640
|
# Make an image showing the eye's spatial response.
|
640
641
|
# @param width [Integer] Image width in pixels
|
@@ -961,6 +962,18 @@ module Vips
|
|
961
962
|
# @option opts [Vips::ForeignFlags] :flags Output Flags for this file
|
962
963
|
# @return [Vips::Image, Hash<Symbol => Object>] Output image, Hash of optional output items
|
963
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
|
+
|
964
977
|
# @!method self.analyzeload(filename, **opts)
|
965
978
|
# Load an analyze6 image.
|
966
979
|
# @param filename [String] Filename to load from
|
@@ -1033,15 +1046,13 @@ module Vips
|
|
1033
1046
|
# @option opts [Vips::ForeignFlags] :flags Output Flags for this file
|
1034
1047
|
# @return [Vips::Image, Hash<Symbol => Object>] Output image, Hash of optional output items
|
1035
1048
|
|
1036
|
-
# @!method self.
|
1037
|
-
# Load
|
1049
|
+
# @!method self.svgload(filename, **opts)
|
1050
|
+
# Load svg with rsvg.
|
1038
1051
|
# @param filename [String] Filename to load from
|
1039
1052
|
# @param opts [Hash] Set of options
|
1040
|
-
# @option opts [Integer] :page Load this page from the file
|
1041
|
-
# @option opts [Integer] :n Load this many pages
|
1042
1053
|
# @option opts [Float] :dpi Render at this DPI
|
1043
1054
|
# @option opts [Float] :scale Scale output by this factor
|
1044
|
-
# @option opts [
|
1055
|
+
# @option opts [Boolean] :unlimited Allow SVG of any size
|
1045
1056
|
# @option opts [Boolean] :memory Force open via memory
|
1046
1057
|
# @option opts [Vips::Access] :access Required access pattern for this file
|
1047
1058
|
# @option opts [Boolean] :sequential Sequential read only
|
@@ -1050,15 +1061,13 @@ module Vips
|
|
1050
1061
|
# @option opts [Vips::ForeignFlags] :flags Output Flags for this file
|
1051
1062
|
# @return [Vips::Image, Hash<Symbol => Object>] Output image, Hash of optional output items
|
1052
1063
|
|
1053
|
-
# @!method self.
|
1054
|
-
# Load
|
1064
|
+
# @!method self.svgload_buffer(buffer, **opts)
|
1065
|
+
# Load svg with rsvg.
|
1055
1066
|
# @param buffer [VipsBlob] Buffer to load from
|
1056
1067
|
# @param opts [Hash] Set of options
|
1057
|
-
# @option opts [Integer] :page Load this page from the file
|
1058
|
-
# @option opts [Integer] :n Load this many pages
|
1059
1068
|
# @option opts [Float] :dpi Render at this DPI
|
1060
1069
|
# @option opts [Float] :scale Scale output by this factor
|
1061
|
-
# @option opts [
|
1070
|
+
# @option opts [Boolean] :unlimited Allow SVG of any size
|
1062
1071
|
# @option opts [Boolean] :memory Force open via memory
|
1063
1072
|
# @option opts [Vips::Access] :access Required access pattern for this file
|
1064
1073
|
# @option opts [Boolean] :sequential Sequential read only
|
@@ -1067,15 +1076,13 @@ module Vips
|
|
1067
1076
|
# @option opts [Vips::ForeignFlags] :flags Output Flags for this file
|
1068
1077
|
# @return [Vips::Image, Hash<Symbol => Object>] Output image, Hash of optional output items
|
1069
1078
|
|
1070
|
-
# @!method self.
|
1071
|
-
# Load
|
1079
|
+
# @!method self.svgload_source(source, **opts)
|
1080
|
+
# Load svg from source.
|
1072
1081
|
# @param source [Vips::Source] Source to load from
|
1073
1082
|
# @param opts [Hash] Set of options
|
1074
|
-
# @option opts [Integer] :page Load this page from the file
|
1075
|
-
# @option opts [Integer] :n Load this many pages
|
1076
1083
|
# @option opts [Float] :dpi Render at this DPI
|
1077
1084
|
# @option opts [Float] :scale Scale output by this factor
|
1078
|
-
# @option opts [
|
1085
|
+
# @option opts [Boolean] :unlimited Allow SVG of any size
|
1079
1086
|
# @option opts [Boolean] :memory Force open via memory
|
1080
1087
|
# @option opts [Vips::Access] :access Required access pattern for this file
|
1081
1088
|
# @option opts [Boolean] :sequential Sequential read only
|
@@ -1084,13 +1091,10 @@ module Vips
|
|
1084
1091
|
# @option opts [Vips::ForeignFlags] :flags Output Flags for this file
|
1085
1092
|
# @return [Vips::Image, Hash<Symbol => Object>] Output image, Hash of optional output items
|
1086
1093
|
|
1087
|
-
# @!method self.
|
1088
|
-
# Load
|
1094
|
+
# @!method self.jxlload(filename, **opts)
|
1095
|
+
# Load jpeg-xl image.
|
1089
1096
|
# @param filename [String] Filename to load from
|
1090
1097
|
# @param opts [Hash] Set of options
|
1091
|
-
# @option opts [Float] :dpi Render at this DPI
|
1092
|
-
# @option opts [Float] :scale Scale output by this factor
|
1093
|
-
# @option opts [Boolean] :unlimited Allow SVG of any size
|
1094
1098
|
# @option opts [Boolean] :memory Force open via memory
|
1095
1099
|
# @option opts [Vips::Access] :access Required access pattern for this file
|
1096
1100
|
# @option opts [Boolean] :sequential Sequential read only
|
@@ -1099,13 +1103,10 @@ module Vips
|
|
1099
1103
|
# @option opts [Vips::ForeignFlags] :flags Output Flags for this file
|
1100
1104
|
# @return [Vips::Image, Hash<Symbol => Object>] Output image, Hash of optional output items
|
1101
1105
|
|
1102
|
-
# @!method self.
|
1103
|
-
# Load
|
1106
|
+
# @!method self.jxlload_buffer(buffer, **opts)
|
1107
|
+
# Load jpeg-xl image.
|
1104
1108
|
# @param buffer [VipsBlob] Buffer to load from
|
1105
1109
|
# @param opts [Hash] Set of options
|
1106
|
-
# @option opts [Float] :dpi Render at this DPI
|
1107
|
-
# @option opts [Float] :scale Scale output by this factor
|
1108
|
-
# @option opts [Boolean] :unlimited Allow SVG of any size
|
1109
1110
|
# @option opts [Boolean] :memory Force open via memory
|
1110
1111
|
# @option opts [Vips::Access] :access Required access pattern for this file
|
1111
1112
|
# @option opts [Boolean] :sequential Sequential read only
|
@@ -1114,13 +1115,49 @@ module Vips
|
|
1114
1115
|
# @option opts [Vips::ForeignFlags] :flags Output Flags for this file
|
1115
1116
|
# @return [Vips::Image, Hash<Symbol => Object>] Output image, Hash of optional output items
|
1116
1117
|
|
1117
|
-
# @!method self.
|
1118
|
-
# Load
|
1118
|
+
# @!method self.jxlload_source(source, **opts)
|
1119
|
+
# Load jpeg-xl image.
|
1119
1120
|
# @param source [Vips::Source] Source to load from
|
1120
1121
|
# @param opts [Hash] Set of options
|
1121
|
-
# @option opts [
|
1122
|
-
# @option opts [
|
1123
|
-
# @option opts [Boolean] :
|
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
|
1124
1161
|
# @option opts [Boolean] :memory Force open via memory
|
1125
1162
|
# @option opts [Vips::Access] :access Required access pattern for this file
|
1126
1163
|
# @option opts [Boolean] :sequential Sequential read only
|
@@ -1130,11 +1167,11 @@ module Vips
|
|
1130
1167
|
# @return [Vips::Image, Hash<Symbol => Object>] Output image, Hash of optional output items
|
1131
1168
|
|
1132
1169
|
# @!method self.gifload(filename, **opts)
|
1133
|
-
# Load gif with
|
1170
|
+
# Load gif with libnsgif.
|
1134
1171
|
# @param filename [String] Filename to load from
|
1135
1172
|
# @param opts [Hash] Set of options
|
1136
|
-
# @option opts [Integer] :page Load this page from the file
|
1137
1173
|
# @option opts [Integer] :n Load this many pages
|
1174
|
+
# @option opts [Integer] :page Load this page from the file
|
1138
1175
|
# @option opts [Boolean] :memory Force open via memory
|
1139
1176
|
# @option opts [Vips::Access] :access Required access pattern for this file
|
1140
1177
|
# @option opts [Boolean] :sequential Sequential read only
|
@@ -1144,11 +1181,11 @@ module Vips
|
|
1144
1181
|
# @return [Vips::Image, Hash<Symbol => Object>] Output image, Hash of optional output items
|
1145
1182
|
|
1146
1183
|
# @!method self.gifload_buffer(buffer, **opts)
|
1147
|
-
# Load gif with
|
1184
|
+
# Load gif with libnsgif.
|
1148
1185
|
# @param buffer [VipsBlob] Buffer to load from
|
1149
1186
|
# @param opts [Hash] Set of options
|
1150
|
-
# @option opts [Integer] :page Load this page from the file
|
1151
1187
|
# @option opts [Integer] :n Load this many pages
|
1188
|
+
# @option opts [Integer] :page Load this page from the file
|
1152
1189
|
# @option opts [Boolean] :memory Force open via memory
|
1153
1190
|
# @option opts [Vips::Access] :access Required access pattern for this file
|
1154
1191
|
# @option opts [Boolean] :sequential Sequential read only
|
@@ -1158,11 +1195,11 @@ module Vips
|
|
1158
1195
|
# @return [Vips::Image, Hash<Symbol => Object>] Output image, Hash of optional output items
|
1159
1196
|
|
1160
1197
|
# @!method self.gifload_source(source, **opts)
|
1161
|
-
# Load gif
|
1198
|
+
# Load gif from source.
|
1162
1199
|
# @param source [Vips::Source] Source to load from
|
1163
1200
|
# @param opts [Hash] Set of options
|
1164
|
-
# @option opts [Integer] :page Load this page from the file
|
1165
1201
|
# @option opts [Integer] :n Load this many pages
|
1202
|
+
# @option opts [Integer] :page Load this page from the file
|
1166
1203
|
# @option opts [Boolean] :memory Force open via memory
|
1167
1204
|
# @option opts [Vips::Access] :access Required access pattern for this file
|
1168
1205
|
# @option opts [Boolean] :sequential Sequential read only
|
@@ -1357,14 +1394,10 @@ module Vips
|
|
1357
1394
|
# @option opts [Vips::ForeignFlags] :flags Output Flags for this file
|
1358
1395
|
# @return [Vips::Image, Hash<Symbol => Object>] Output image, Hash of optional output items
|
1359
1396
|
|
1360
|
-
# @!method self.
|
1361
|
-
# Load
|
1397
|
+
# @!method self.fitsload(filename, **opts)
|
1398
|
+
# Load a fits image.
|
1362
1399
|
# @param filename [String] Filename to load from
|
1363
1400
|
# @param opts [Hash] Set of options
|
1364
|
-
# @option opts [Boolean] :attach_associated Attach all asssociated images
|
1365
|
-
# @option opts [Integer] :level Load this level from the file
|
1366
|
-
# @option opts [Boolean] :autocrop Crop to image bounds
|
1367
|
-
# @option opts [String] :associated Load this associated image
|
1368
1401
|
# @option opts [Boolean] :memory Force open via memory
|
1369
1402
|
# @option opts [Vips::Access] :access Required access pattern for this file
|
1370
1403
|
# @option opts [Boolean] :sequential Sequential read only
|
@@ -1373,14 +1406,10 @@ module Vips
|
|
1373
1406
|
# @option opts [Vips::ForeignFlags] :flags Output Flags for this file
|
1374
1407
|
# @return [Vips::Image, Hash<Symbol => Object>] Output image, Hash of optional output items
|
1375
1408
|
|
1376
|
-
# @!method self.
|
1377
|
-
# Load
|
1378
|
-
# @param
|
1409
|
+
# @!method self.fitsload_source(source, **opts)
|
1410
|
+
# Load fits from a source.
|
1411
|
+
# @param source [Vips::Source] Source to load from
|
1379
1412
|
# @param opts [Hash] Set of options
|
1380
|
-
# @option opts [Boolean] :all_frames Read all frames from an image
|
1381
|
-
# @option opts [String] :density Canvas resolution for rendering vector formats like SVG
|
1382
|
-
# @option opts [Integer] :page Load this page from the file
|
1383
|
-
# @option opts [Integer] :n Load this many pages
|
1384
1413
|
# @option opts [Boolean] :memory Force open via memory
|
1385
1414
|
# @option opts [Vips::Access] :access Required access pattern for this file
|
1386
1415
|
# @option opts [Boolean] :sequential Sequential read only
|
@@ -1389,14 +1418,10 @@ module Vips
|
|
1389
1418
|
# @option opts [Vips::ForeignFlags] :flags Output Flags for this file
|
1390
1419
|
# @return [Vips::Image, Hash<Symbol => Object>] Output image, Hash of optional output items
|
1391
1420
|
|
1392
|
-
# @!method self.
|
1393
|
-
# Load
|
1394
|
-
# @param
|
1421
|
+
# @!method self.openexrload(filename, **opts)
|
1422
|
+
# Load an openexr image.
|
1423
|
+
# @param filename [String] Filename to load from
|
1395
1424
|
# @param opts [Hash] Set of options
|
1396
|
-
# @option opts [Boolean] :all_frames Read all frames from an image
|
1397
|
-
# @option opts [String] :density Canvas resolution for rendering vector formats like SVG
|
1398
|
-
# @option opts [Integer] :page Load this page from the file
|
1399
|
-
# @option opts [Integer] :n Load this many pages
|
1400
1425
|
# @option opts [Boolean] :memory Force open via memory
|
1401
1426
|
# @option opts [Vips::Access] :access Required access pattern for this file
|
1402
1427
|
# @option opts [Boolean] :sequential Sequential read only
|
@@ -1405,8 +1430,8 @@ module Vips
|
|
1405
1430
|
# @option opts [Vips::ForeignFlags] :flags Output Flags for this file
|
1406
1431
|
# @return [Vips::Image, Hash<Symbol => Object>] Output image, Hash of optional output items
|
1407
1432
|
|
1408
|
-
# @!method self.
|
1409
|
-
# Load
|
1433
|
+
# @!method self.niftiload(filename, **opts)
|
1434
|
+
# Load nifti volume.
|
1410
1435
|
# @param filename [String] Filename to load from
|
1411
1436
|
# @param opts [Hash] Set of options
|
1412
1437
|
# @option opts [Boolean] :memory Force open via memory
|
@@ -1417,9 +1442,9 @@ module Vips
|
|
1417
1442
|
# @option opts [Vips::ForeignFlags] :flags Output Flags for this file
|
1418
1443
|
# @return [Vips::Image, Hash<Symbol => Object>] Output image, Hash of optional output items
|
1419
1444
|
|
1420
|
-
# @!method self.
|
1421
|
-
# Load
|
1422
|
-
# @param
|
1445
|
+
# @!method self.niftiload_source(source, **opts)
|
1446
|
+
# Load nifti volumes.
|
1447
|
+
# @param source [Vips::Source] Source to load from
|
1423
1448
|
# @param opts [Hash] Set of options
|
1424
1449
|
# @option opts [Boolean] :memory Force open via memory
|
1425
1450
|
# @option opts [Vips::Access] :access Required access pattern for this file
|
@@ -1429,10 +1454,30 @@ module Vips
|
|
1429
1454
|
# @option opts [Vips::ForeignFlags] :flags Output Flags for this file
|
1430
1455
|
# @return [Vips::Image, Hash<Symbol => Object>] Output image, Hash of optional output items
|
1431
1456
|
|
1432
|
-
# @!method self.
|
1433
|
-
# Load
|
1457
|
+
# @!method self.openslideload(filename, **opts)
|
1458
|
+
# Load file with openslide.
|
1434
1459
|
# @param filename [String] Filename to load from
|
1435
1460
|
# @param opts [Hash] Set of options
|
1461
|
+
# @option opts [Boolean] :attach_associated Attach all associated images
|
1462
|
+
# @option opts [Integer] :level Load this level from the file
|
1463
|
+
# @option opts [Boolean] :autocrop Crop to image bounds
|
1464
|
+
# @option opts [String] :associated Load this associated image
|
1465
|
+
# @option opts [Boolean] :memory Force open via memory
|
1466
|
+
# @option opts [Vips::Access] :access Required access pattern for this file
|
1467
|
+
# @option opts [Boolean] :sequential Sequential read only
|
1468
|
+
# @option opts [Boolean] :fail Fail on first error
|
1469
|
+
# @option opts [Boolean] :disc Open to disc
|
1470
|
+
# @option opts [Vips::ForeignFlags] :flags Output Flags for this file
|
1471
|
+
# @return [Vips::Image, Hash<Symbol => Object>] Output image, Hash of optional output items
|
1472
|
+
|
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
|
1436
1481
|
# @option opts [Boolean] :memory Force open via memory
|
1437
1482
|
# @option opts [Vips::Access] :access Required access pattern for this file
|
1438
1483
|
# @option opts [Boolean] :sequential Sequential read only
|
@@ -1489,6 +1534,89 @@ module Vips
|
|
1489
1534
|
# @option opts [Vips::ForeignFlags] :flags Output Flags for this file
|
1490
1535
|
# @return [Vips::Image, Hash<Symbol => Object>] Output image, Hash of optional output items
|
1491
1536
|
|
1537
|
+
# @!method self.pdfload(filename, **opts)
|
1538
|
+
# Load pdf from file.
|
1539
|
+
# @param filename [String] Filename to load from
|
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
|
1546
|
+
# @option opts [Boolean] :memory Force open via memory
|
1547
|
+
# @option opts [Vips::Access] :access Required access pattern for this file
|
1548
|
+
# @option opts [Boolean] :sequential Sequential read only
|
1549
|
+
# @option opts [Boolean] :fail Fail on first error
|
1550
|
+
# @option opts [Boolean] :disc Open to disc
|
1551
|
+
# @option opts [Vips::ForeignFlags] :flags Output Flags for this file
|
1552
|
+
# @return [Vips::Image, Hash<Symbol => Object>] Output image, Hash of optional output items
|
1553
|
+
|
1554
|
+
# @!method self.pdfload_buffer(buffer, **opts)
|
1555
|
+
# Load pdf from buffer.
|
1556
|
+
# @param buffer [VipsBlob] Buffer to load from
|
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
|
1563
|
+
# @option opts [Boolean] :memory Force open via memory
|
1564
|
+
# @option opts [Vips::Access] :access Required access pattern for this file
|
1565
|
+
# @option opts [Boolean] :sequential Sequential read only
|
1566
|
+
# @option opts [Boolean] :fail Fail on first error
|
1567
|
+
# @option opts [Boolean] :disc Open to disc
|
1568
|
+
# @option opts [Vips::ForeignFlags] :flags Output Flags for this file
|
1569
|
+
# @return [Vips::Image, Hash<Symbol => Object>] Output image, Hash of optional output items
|
1570
|
+
|
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.
|
1590
|
+
# @param filename [String] Filename to load from
|
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
|
1594
|
+
# @option opts [Integer] :page Load this page from the file
|
1595
|
+
# @option opts [Integer] :n Load this many pages
|
1596
|
+
# @option opts [Boolean] :memory Force open via memory
|
1597
|
+
# @option opts [Vips::Access] :access Required access pattern for this file
|
1598
|
+
# @option opts [Boolean] :sequential Sequential read only
|
1599
|
+
# @option opts [Boolean] :fail Fail on first error
|
1600
|
+
# @option opts [Boolean] :disc Open to disc
|
1601
|
+
# @option opts [Vips::ForeignFlags] :flags Output Flags for this file
|
1602
|
+
# @return [Vips::Image, Hash<Symbol => Object>] Output image, Hash of optional output items
|
1603
|
+
|
1604
|
+
# @!method self.magickload_buffer(buffer, **opts)
|
1605
|
+
# Load buffer with imagemagick.
|
1606
|
+
# @param buffer [VipsBlob] Buffer to load from
|
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
|
1610
|
+
# @option opts [Integer] :page Load this page from the file
|
1611
|
+
# @option opts [Integer] :n Load this many pages
|
1612
|
+
# @option opts [Boolean] :memory Force open via memory
|
1613
|
+
# @option opts [Vips::Access] :access Required access pattern for this file
|
1614
|
+
# @option opts [Boolean] :sequential Sequential read only
|
1615
|
+
# @option opts [Boolean] :fail Fail on first error
|
1616
|
+
# @option opts [Boolean] :disc Open to disc
|
1617
|
+
# @option opts [Vips::ForeignFlags] :flags Output Flags for this file
|
1618
|
+
# @return [Vips::Image, Hash<Symbol => Object>] Output image, Hash of optional output items
|
1619
|
+
|
1492
1620
|
# @!method csvsave(filename, **opts)
|
1493
1621
|
# Save image to csv.
|
1494
1622
|
# @param filename [String] Filename to save to
|
@@ -1554,7 +1682,7 @@ module Vips
|
|
1554
1682
|
# @return [nil]
|
1555
1683
|
|
1556
1684
|
# @!method vipssave(filename, **opts)
|
1557
|
-
# Save image to vips
|
1685
|
+
# Save image to file in vips format.
|
1558
1686
|
# @param filename [String] Filename to save to
|
1559
1687
|
# @param opts [Hash] Set of options
|
1560
1688
|
# @option opts [Boolean] :strip Strip all metadata from image
|
@@ -1562,6 +1690,15 @@ module Vips
|
|
1562
1690
|
# @option opts [Integer] :page_height Set page height for multipage save
|
1563
1691
|
# @return [nil]
|
1564
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
|
+
|
1565
1702
|
# @!method ppmsave(filename, **opts)
|
1566
1703
|
# Save image to ppm file.
|
1567
1704
|
# @param filename [String] Filename to save to
|
@@ -1612,6 +1749,88 @@ module Vips
|
|
1612
1749
|
# @option opts [Integer] :page_height Set page height for multipage save
|
1613
1750
|
# @return [nil]
|
1614
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
|
+
|
1615
1834
|
# @!method dzsave(filename, **opts)
|
1616
1835
|
# Save image to deepzoom file.
|
1617
1836
|
# @param filename [String] Filename to save to
|
@@ -1731,7 +1950,7 @@ module Vips
|
|
1731
1950
|
# @option opts [Boolean] :overshoot_deringing Apply overshooting to samples with extreme values
|
1732
1951
|
# @option opts [Boolean] :optimize_scans Split spectrum of DCT coefficients into separate scans
|
1733
1952
|
# @option opts [Integer] :quant_table Use predefined quantization table with given index
|
1734
|
-
# @option opts [Vips::
|
1953
|
+
# @option opts [Vips::ForeignSubsample] :subsample_mode Select chroma subsample operation mode
|
1735
1954
|
# @option opts [Boolean] :strip Strip all metadata from image
|
1736
1955
|
# @option opts [Array<Double>] :background Background value
|
1737
1956
|
# @option opts [Integer] :page_height Set page height for multipage save
|
@@ -1749,7 +1968,7 @@ module Vips
|
|
1749
1968
|
# @option opts [Boolean] :overshoot_deringing Apply overshooting to samples with extreme values
|
1750
1969
|
# @option opts [Boolean] :optimize_scans Split spectrum of DCT coefficients into separate scans
|
1751
1970
|
# @option opts [Integer] :quant_table Use predefined quantization table with given index
|
1752
|
-
# @option opts [Vips::
|
1971
|
+
# @option opts [Vips::ForeignSubsample] :subsample_mode Select chroma subsample operation mode
|
1753
1972
|
# @option opts [Boolean] :strip Strip all metadata from image
|
1754
1973
|
# @option opts [Array<Double>] :background Background value
|
1755
1974
|
# @option opts [Integer] :page_height Set page height for multipage save
|
@@ -1768,7 +1987,7 @@ module Vips
|
|
1768
1987
|
# @option opts [Boolean] :overshoot_deringing Apply overshooting to samples with extreme values
|
1769
1988
|
# @option opts [Boolean] :optimize_scans Split spectrum of DCT coefficients into separate scans
|
1770
1989
|
# @option opts [Integer] :quant_table Use predefined quantization table with given index
|
1771
|
-
# @option opts [Vips::
|
1990
|
+
# @option opts [Vips::ForeignSubsample] :subsample_mode Select chroma subsample operation mode
|
1772
1991
|
# @option opts [Boolean] :strip Strip all metadata from image
|
1773
1992
|
# @option opts [Array<Double>] :background Background value
|
1774
1993
|
# @option opts [Integer] :page_height Set page height for multipage save
|
@@ -1786,7 +2005,7 @@ module Vips
|
|
1786
2005
|
# @option opts [Boolean] :overshoot_deringing Apply overshooting to samples with extreme values
|
1787
2006
|
# @option opts [Boolean] :optimize_scans Split spectrum of DCT coefficients into separate scans
|
1788
2007
|
# @option opts [Integer] :quant_table Use predefined quantization table with given index
|
1789
|
-
# @option opts [Vips::
|
2008
|
+
# @option opts [Vips::ForeignSubsample] :subsample_mode Select chroma subsample operation mode
|
1790
2009
|
# @option opts [Boolean] :strip Strip all metadata from image
|
1791
2010
|
# @option opts [Array<Double>] :background Background value
|
1792
2011
|
# @option opts [Integer] :page_height Set page height for multipage save
|
@@ -1874,9 +2093,10 @@ module Vips
|
|
1874
2093
|
# @option opts [Boolean] :properties Write a properties document to IMAGEDESCRIPTION
|
1875
2094
|
# @option opts [Vips::RegionShrink] :region_shrink Method to shrink regions
|
1876
2095
|
# @option opts [Integer] :level ZSTD compression level
|
1877
|
-
# @option opts [Boolean] :subifd Save pyr layers as sub-IFDs
|
1878
2096
|
# @option opts [Boolean] :lossless Enable WEBP lossless mode
|
1879
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
|
1880
2100
|
# @option opts [Boolean] :strip Strip all metadata from image
|
1881
2101
|
# @option opts [Array<Double>] :background Background value
|
1882
2102
|
# @option opts [Integer] :page_height Set page height for multipage save
|
@@ -1904,34 +2124,10 @@ module Vips
|
|
1904
2124
|
# @option opts [Boolean] :properties Write a properties document to IMAGEDESCRIPTION
|
1905
2125
|
# @option opts [Vips::RegionShrink] :region_shrink Method to shrink regions
|
1906
2126
|
# @option opts [Integer] :level ZSTD compression level
|
1907
|
-
# @option opts [Boolean] :subifd Save pyr layers as sub-IFDs
|
1908
2127
|
# @option opts [Boolean] :lossless Enable WEBP lossless mode
|
1909
2128
|
# @option opts [Vips::ForeignDzDepth] :depth Pyramid depth
|
1910
|
-
# @option opts [Boolean] :
|
1911
|
-
# @option opts [
|
1912
|
-
# @option opts [Integer] :page_height Set page height for multipage save
|
1913
|
-
# @return [VipsBlob] Buffer to save to
|
1914
|
-
|
1915
|
-
# @!method magicksave(filename, **opts)
|
1916
|
-
# Save file with imagemagick.
|
1917
|
-
# @param filename [String] Filename to save to
|
1918
|
-
# @param opts [Hash] Set of options
|
1919
|
-
# @option opts [String] :format Format to save in
|
1920
|
-
# @option opts [Integer] :quality Quality to use
|
1921
|
-
# @option opts [Boolean] :optimize_gif_frames Apply GIF frames optimization
|
1922
|
-
# @option opts [Boolean] :optimize_gif_transparency Apply GIF transparency optimization
|
1923
|
-
# @option opts [Boolean] :strip Strip all metadata from image
|
1924
|
-
# @option opts [Array<Double>] :background Background value
|
1925
|
-
# @option opts [Integer] :page_height Set page height for multipage save
|
1926
|
-
# @return [nil]
|
1927
|
-
|
1928
|
-
# @!method magicksave_buffer(**opts)
|
1929
|
-
# Save image to magick buffer.
|
1930
|
-
# @param opts [Hash] Set of options
|
1931
|
-
# @option opts [String] :format Format to save in
|
1932
|
-
# @option opts [Integer] :quality Quality to use
|
1933
|
-
# @option opts [Boolean] :optimize_gif_frames Apply GIF frames optimization
|
1934
|
-
# @option opts [Boolean] :optimize_gif_transparency Apply GIF transparency optimization
|
2129
|
+
# @option opts [Boolean] :subifd Save pyr layers as sub-IFDs
|
2130
|
+
# @option opts [Boolean] :premultiply Save with premultiplied alpha
|
1935
2131
|
# @option opts [Boolean] :strip Strip all metadata from image
|
1936
2132
|
# @option opts [Array<Double>] :background Background value
|
1937
2133
|
# @option opts [Integer] :page_height Set page height for multipage save
|
@@ -1957,12 +2153,13 @@ module Vips
|
|
1957
2153
|
|
1958
2154
|
# @!method heifsave(filename, **opts)
|
1959
2155
|
# Save image in heif format.
|
1960
|
-
# @param filename [String] Filename to
|
2156
|
+
# @param filename [String] Filename to save to
|
1961
2157
|
# @param opts [Hash] Set of options
|
1962
2158
|
# @option opts [Integer] :Q Q factor
|
1963
2159
|
# @option opts [Boolean] :lossless Enable lossless compression
|
1964
2160
|
# @option opts [Vips::ForeignHeifCompression] :compression Compression format
|
1965
2161
|
# @option opts [Integer] :speed CPU effort
|
2162
|
+
# @option opts [Vips::ForeignSubsample] :subsample_mode Select chroma subsample operation mode
|
1966
2163
|
# @option opts [Boolean] :strip Strip all metadata from image
|
1967
2164
|
# @option opts [Array<Double>] :background Background value
|
1968
2165
|
# @option opts [Integer] :page_height Set page height for multipage save
|
@@ -1975,6 +2172,7 @@ module Vips
|
|
1975
2172
|
# @option opts [Boolean] :lossless Enable lossless compression
|
1976
2173
|
# @option opts [Vips::ForeignHeifCompression] :compression Compression format
|
1977
2174
|
# @option opts [Integer] :speed CPU effort
|
2175
|
+
# @option opts [Vips::ForeignSubsample] :subsample_mode Select chroma subsample operation mode
|
1978
2176
|
# @option opts [Boolean] :strip Strip all metadata from image
|
1979
2177
|
# @option opts [Array<Double>] :background Background value
|
1980
2178
|
# @option opts [Integer] :page_height Set page height for multipage save
|
@@ -1988,11 +2186,37 @@ module Vips
|
|
1988
2186
|
# @option opts [Boolean] :lossless Enable lossless compression
|
1989
2187
|
# @option opts [Vips::ForeignHeifCompression] :compression Compression format
|
1990
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
|
1991
2203
|
# @option opts [Boolean] :strip Strip all metadata from image
|
1992
2204
|
# @option opts [Array<Double>] :background Background value
|
1993
2205
|
# @option opts [Integer] :page_height Set page height for multipage save
|
1994
2206
|
# @return [nil]
|
1995
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
|
2215
|
+
# @option opts [Boolean] :strip Strip all metadata from image
|
2216
|
+
# @option opts [Array<Double>] :background Background value
|
2217
|
+
# @option opts [Integer] :page_height Set page height for multipage save
|
2218
|
+
# @return [VipsBlob] Buffer to save to
|
2219
|
+
|
1996
2220
|
# @!method self.thumbnail(filename, width, **opts)
|
1997
2221
|
# Generate thumbnail from file.
|
1998
2222
|
# @param filename [String] Filename to read from
|
@@ -2295,6 +2519,7 @@ module Vips
|
|
2295
2519
|
# @param opts [Hash] Set of options
|
2296
2520
|
# @option opts [Vips::PCS] :pcs Set Profile Connection Space
|
2297
2521
|
# @option opts [Vips::Intent] :intent Rendering intent
|
2522
|
+
# @option opts [Boolean] :black_point_compensation Enable black point compensation
|
2298
2523
|
# @option opts [Boolean] :embedded Use embedded input profile, if available
|
2299
2524
|
# @option opts [String] :input_profile Filename to load input profile from
|
2300
2525
|
# @return [Vips::Image] Output image
|
@@ -2304,6 +2529,7 @@ module Vips
|
|
2304
2529
|
# @param opts [Hash] Set of options
|
2305
2530
|
# @option opts [Vips::PCS] :pcs Set Profile Connection Space
|
2306
2531
|
# @option opts [Vips::Intent] :intent Rendering intent
|
2532
|
+
# @option opts [Boolean] :black_point_compensation Enable black point compensation
|
2307
2533
|
# @option opts [String] :output_profile Filename to load output profile from
|
2308
2534
|
# @option opts [Integer] :depth Output device space depth in bits
|
2309
2535
|
# @return [Vips::Image] Output image
|
@@ -2314,6 +2540,7 @@ module Vips
|
|
2314
2540
|
# @param opts [Hash] Set of options
|
2315
2541
|
# @option opts [Vips::PCS] :pcs Set Profile Connection Space
|
2316
2542
|
# @option opts [Vips::Intent] :intent Rendering intent
|
2543
|
+
# @option opts [Boolean] :black_point_compensation Enable black point compensation
|
2317
2544
|
# @option opts [Boolean] :embedded Use embedded input profile, if available
|
2318
2545
|
# @option opts [String] :input_profile Filename to load input profile from
|
2319
2546
|
# @option opts [Integer] :depth Output device space depth in bits
|
data/lib/vips/mutableimage.rb
CHANGED
@@ -53,8 +53,9 @@ module Vips
|
|
53
53
|
# it's the thing we return at the end of the mutate block.
|
54
54
|
copy_image = image.copy
|
55
55
|
|
56
|
-
#
|
57
|
-
# and make the ref that gobject will unref when it finishes
|
56
|
+
# Use ptr since we need the raw unwrapped pointer inside the image ...
|
57
|
+
# and make the ref that gobject will unref when it finishes.
|
58
|
+
# See also the comment on set_type! before changing this.
|
58
59
|
pointer = copy_image.ptr
|
59
60
|
::GObject.g_object_ref pointer
|
60
61
|
super pointer
|
@@ -79,7 +80,7 @@ module Vips
|
|
79
80
|
end
|
80
81
|
|
81
82
|
def respond_to_missing? name, include_all = false
|
82
|
-
#
|
83
|
+
# Respond to all vips operations by nickname.
|
83
84
|
return true if Vips.type_find("VipsOperation", name.to_s) != 0
|
84
85
|
|
85
86
|
super
|
@@ -115,7 +116,21 @@ module Vips
|
|
115
116
|
gvalue = GObject::GValue.alloc
|
116
117
|
gvalue.init gtype
|
117
118
|
gvalue.set value
|
118
|
-
|
119
|
+
|
120
|
+
# libvips 8.9.1 had a terrible misfeature which would block metadata
|
121
|
+
# modification unless the object had a ref_count of 1. MutableImage
|
122
|
+
# will always have a ref_count of at least 2 (the parent gobject keeps a
|
123
|
+
# ref, and we keep a ref to the copy ready to return to our caller),
|
124
|
+
# so we must temporarily drop the refs to 1 around metadata changes.
|
125
|
+
#
|
126
|
+
# See https://github.com/libvips/ruby-vips/issues/291
|
127
|
+
begin
|
128
|
+
::GObject.g_object_unref ptr
|
129
|
+
Vips.vips_image_set self, name, gvalue
|
130
|
+
ensure
|
131
|
+
::GObject.g_object_ref ptr
|
132
|
+
end
|
133
|
+
|
119
134
|
gvalue.unset
|
120
135
|
end
|
121
136
|
|
@@ -148,7 +163,11 @@ module Vips
|
|
148
163
|
#
|
149
164
|
# @param name [String] Metadata field to remove
|
150
165
|
def remove! name
|
166
|
+
# See set_type! for an explanation. Image#remove can't throw an
|
167
|
+
# exception, so there's no need to ensure we unref.
|
168
|
+
::GObject.g_object_unref ptr
|
151
169
|
Vips.vips_image_remove self, name
|
170
|
+
::GObject.g_object_ref ptr
|
152
171
|
end
|
153
172
|
end
|
154
173
|
end
|
data/lib/vips/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ruby-vips
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.1.
|
4
|
+
version: 2.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- John Cupitt
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-05-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: ffi
|