ruby-vips 2.1.0 → 2.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/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
|