diff --git a/samples/NetVips.Samples/Samples/GenerateImageClass.cs b/samples/NetVips.Samples/Samples/GenerateImageClass.cs
index 7bc38ccf..847963ba 100644
--- a/samples/NetVips.Samples/Samples/GenerateImageClass.cs
+++ b/samples/NetVips.Samples/Samples/GenerateImageClass.cs
@@ -37,6 +37,11 @@ public class GenerateImageClass : ISample
///
public static readonly IntPtr FailOnType = NetVips.TypeFromName("VipsFailOn");
+ ///
+ /// The fundamental type for VipsForeignKeep. See .
+ ///
+ public static readonly IntPtr ForeignKeepType = NetVips.TypeFromName("VipsForeignKeep");
+
public GenerateImageClass()
{
// Classes
@@ -57,12 +62,17 @@ public GenerateImageClass()
_gTypeToCSharpDict.Add(NetVips.TypeFromName("VipsDemandStyle"), "Enums.DemandStyle");
_gTypeToCSharpDict.Add(NetVips.TypeFromName("VipsDirection"), "Enums.Direction");
_gTypeToCSharpDict.Add(NetVips.TypeFromName("VipsExtend"), "Enums.Extend");
- _gTypeToCSharpDict.Add(FailOnType, "Enums.FailOn");
+ if (FailOnType != IntPtr.Zero)
+ {
+ _gTypeToCSharpDict.Add(FailOnType, "Enums.FailOn");
+ }
+
if (NetVips.TypeFind("VipsOperation", "dzsave") != IntPtr.Zero)
{
_gTypeToCSharpDict.Add(NetVips.TypeFromName("VipsForeignDzContainer"), "Enums.ForeignDzContainer");
_gTypeToCSharpDict.Add(NetVips.TypeFromName("VipsForeignDzLayout"), "Enums.ForeignDzLayout");
}
+
_gTypeToCSharpDict.Add(NetVips.TypeFromName("VipsForeignDzDepth"), "Enums.ForeignDzDepth");
_gTypeToCSharpDict.Add(NetVips.TypeFromName("VipsForeignHeifCompression"), "Enums.ForeignHeifCompression");
_gTypeToCSharpDict.Add(NetVips.TypeFromName("VipsForeignPpmFormat"), "Enums.ForeignPpmFormat");
@@ -97,6 +107,10 @@ public GenerateImageClass()
// Flags
_gTypeToCSharpDict.Add(NetVips.TypeFromName("VipsForeignFlags"), "Enums.ForeignFlags");
_gTypeToCSharpDict.Add(NetVips.TypeFromName("VipsForeignPngFilter"), "Enums.ForeignPngFilter");
+ if (ForeignKeepType != IntPtr.Zero)
+ {
+ _gTypeToCSharpDict.Add(ForeignKeepType, "Enums.ForeignKeep");
+ }
}
///
@@ -419,6 +433,11 @@ string ToCref(string name) =>
{
result.AppendLine($"{indent} options.AddFailOn({safeIdentifier});");
}
+ else if (arg.Type == ForeignKeepType)
+ {
+ result.Append($"{indent} options.AddForeignKeep({safeIdentifier}");
+ result.AppendLine(operationName.StartsWith("dzsave") ? ", true);" : ");");
+ }
else
{
result.AppendLine($"{indent} options.AddIfPresent({optionsName}, {safeIdentifier});");
diff --git a/src/NetVips/Enums.cs b/src/NetVips/Enums.cs
index cf9fb38e..04d0a4ad 100644
--- a/src/NetVips/Enums.cs
+++ b/src/NetVips/Enums.cs
@@ -508,6 +508,34 @@ public enum ForeignPngFilter
All = None | Sub | Up | Avg | Paeth // "all"
}
+ ///
+ /// Which metadata to retain.
+ ///
+ [Flags]
+ public enum ForeignKeep
+ {
+ /// Don't attach metadata.
+ None = 0, // "none"
+
+ /// Keep Exif metadata.
+ Exif = 1 << 0, // "exif"
+
+ /// Keep XMP metadata.
+ Xmp = 1 << 1, // "xmp"
+
+ /// Keep IPTC metadata.
+ Iptc = 1 << 2, // "iptc"
+
+ /// Keep ICC metadata.
+ Icc = 1 << 3, // "icc"
+
+ /// Keep other metadata (e.g. PNG comments and some TIFF tags)
+ Other = 1 << 4, // "other"
+
+ /// Keep all metadata.
+ All = Exif | Xmp | Iptc | Icc | Other // "all"
+ }
+
///
/// The selected encoder to use.
///
diff --git a/src/NetVips/ExtensionMethods.cs b/src/NetVips/ExtensionMethods.cs
index b61126bb..b340e092 100644
--- a/src/NetVips/ExtensionMethods.cs
+++ b/src/NetVips/ExtensionMethods.cs
@@ -272,5 +272,32 @@ internal static void AddFailOn(this VOption options, Enums.FailOn? failOn = null
options.Add("fail", failOn > Enums.FailOn.None);
}
}
+
+ ///
+ /// Compatibility method to call savers with the enum.
+ ///
+ /// The optional arguments for the saver.
+ /// The optional parameter.
+ /// Whether this operation is -like.
+ internal static void AddForeignKeep(this VOption options, Enums.ForeignKeep? keep = null, bool isDzsave = false)
+ {
+ if (!keep.HasValue)
+ {
+ return;
+ }
+
+ if (NetVips.AtLeastLibvips(8, 15))
+ {
+ options.Add(nameof(keep), keep);
+ }
+ else if (isDzsave)
+ {
+ options.Add("no_strip", keep != Enums.ForeignKeep.None);
+ }
+ else
+ {
+ options.Add("strip", keep == Enums.ForeignKeep.None);
+ }
+ }
}
}
\ No newline at end of file
diff --git a/src/NetVips/Image.Generated.cs b/src/NetVips/Image.Generated.cs
index 72ade286..34374e86 100644
--- a/src/NetVips/Image.Generated.cs
+++ b/src/NetVips/Image.Generated.cs
@@ -1033,20 +1033,22 @@ public static Image CsvloadStream(Stream stream, out Enums.ForeignFlags flags, i
///
///
///
- /// in.Csvsave(filename, separator: string, strip: bool, background: double[], pageHeight: int);
+ /// in.Csvsave(filename, profile: string, separator: string, keep: Enums.ForeignKeep, background: double[], pageHeight: int);
///
///
/// Filename to save to.
+ /// Filename of ICC profile to embed.
/// Separator characters.
- /// Strip all metadata from image.
+ /// Which metadata to retain.
/// Background value.
/// Set page height for multipage save.
- public void Csvsave(string filename, string separator = null, bool? strip = null, double[] background = null, int? pageHeight = null)
+ public void Csvsave(string filename, string profile = null, string separator = null, Enums.ForeignKeep? keep = null, double[] background = null, int? pageHeight = null)
{
var options = new VOption();
+ options.AddIfPresent(nameof(profile), profile);
options.AddIfPresent(nameof(separator), separator);
- options.AddIfPresent(nameof(strip), strip);
+ options.AddForeignKeep(keep);
options.AddIfPresent(nameof(background), background);
options.AddIfPresent("page_height", pageHeight);
@@ -1058,20 +1060,22 @@ public void Csvsave(string filename, string separator = null, bool? strip = null
///
///
///
- /// in.CsvsaveTarget(target, separator: string, strip: bool, background: double[], pageHeight: int);
+ /// in.CsvsaveTarget(target, profile: string, separator: string, keep: Enums.ForeignKeep, background: double[], pageHeight: int);
///
///
/// Target to save to.
+ /// Filename of ICC profile to embed.
/// Separator characters.
- /// Strip all metadata from image.
+ /// Which metadata to retain.
/// Background value.
/// Set page height for multipage save.
- public void CsvsaveTarget(Target target, string separator = null, bool? strip = null, double[] background = null, int? pageHeight = null)
+ public void CsvsaveTarget(Target target, string profile = null, string separator = null, Enums.ForeignKeep? keep = null, double[] background = null, int? pageHeight = null)
{
var options = new VOption();
+ options.AddIfPresent(nameof(profile), profile);
options.AddIfPresent(nameof(separator), separator);
- options.AddIfPresent(nameof(strip), strip);
+ options.AddForeignKeep(keep);
options.AddIfPresent(nameof(background), background);
options.AddIfPresent("page_height", pageHeight);
@@ -1083,18 +1087,19 @@ public void CsvsaveTarget(Target target, string separator = null, bool? strip =
///
///
///
- /// in.CsvsaveStream(stream, separator: string, strip: bool, background: double[], pageHeight: int);
+ /// in.CsvsaveStream(stream, profile: string, separator: string, keep: Enums.ForeignKeep, background: double[], pageHeight: int);
///
///
/// Stream to save to.
+ /// Filename of ICC profile to embed.
/// Separator characters.
- /// Strip all metadata from image.
+ /// Which metadata to retain.
/// Background value.
/// Set page height for multipage save.
- public void CsvsaveStream(Stream stream, string separator = null, bool? strip = null, double[] background = null, int? pageHeight = null)
+ public void CsvsaveStream(Stream stream, string profile = null, string separator = null, Enums.ForeignKeep? keep = null, double[] background = null, int? pageHeight = null)
{
using var target = TargetStream.NewFromStream(stream);
- CsvsaveTarget(target, separator, strip, background, pageHeight);
+ CsvsaveTarget(target, profile, separator, keep, background, pageHeight);
}
///
@@ -1176,7 +1181,7 @@ public Image Divide(Image right)
///
///
///
- /// in.Dzsave(filename, imagename: string, layout: Enums.ForeignDzLayout, suffix: string, overlap: int, tileSize: int, centre: bool, depth: Enums.ForeignDzDepth, angle: Enums.Angle, container: Enums.ForeignDzContainer, compression: int, regionShrink: Enums.RegionShrink, skipBlanks: int, noStrip: bool, id: string, q: int, strip: bool, background: double[], pageHeight: int);
+ /// in.Dzsave(filename, imagename: string, layout: Enums.ForeignDzLayout, suffix: string, overlap: int, tileSize: int, profile: string, centre: bool, depth: Enums.ForeignDzDepth, angle: Enums.Angle, container: Enums.ForeignDzContainer, compression: int, regionShrink: Enums.RegionShrink, skipBlanks: int, id: string, q: int, keep: Enums.ForeignKeep, background: double[], pageHeight: int);
///
///
/// Filename to save to.
@@ -1185,6 +1190,7 @@ public Image Divide(Image right)
/// Filename suffix for tiles.
/// Tile overlap in pixels.
/// Tile size in pixels.
+ /// Filename of ICC profile to embed.
/// Center image in tile.
/// Pyramid depth.
/// Rotate image during save.
@@ -1192,13 +1198,12 @@ public Image Divide(Image right)
/// ZIP deflate compression level.
/// Method to shrink regions.
/// Skip tiles which are nearly equal to the background.
- /// Don't strip tile metadata.
/// Resource ID.
/// Q factor.
- /// Strip all metadata from image.
+ /// Which metadata to retain.
/// Background value.
/// Set page height for multipage save.
- public void Dzsave(string filename, string imagename = null, Enums.ForeignDzLayout? layout = null, string suffix = null, int? overlap = null, int? tileSize = null, bool? centre = null, Enums.ForeignDzDepth? depth = null, Enums.Angle? angle = null, Enums.ForeignDzContainer? container = null, int? compression = null, Enums.RegionShrink? regionShrink = null, int? skipBlanks = null, bool? noStrip = null, string id = null, int? q = null, bool? strip = null, double[] background = null, int? pageHeight = null)
+ public void Dzsave(string filename, string imagename = null, Enums.ForeignDzLayout? layout = null, string suffix = null, int? overlap = null, int? tileSize = null, string profile = null, bool? centre = null, Enums.ForeignDzDepth? depth = null, Enums.Angle? angle = null, Enums.ForeignDzContainer? container = null, int? compression = null, Enums.RegionShrink? regionShrink = null, int? skipBlanks = null, string id = null, int? q = null, Enums.ForeignKeep? keep = null, double[] background = null, int? pageHeight = null)
{
var options = new VOption();
@@ -1207,6 +1212,7 @@ public void Dzsave(string filename, string imagename = null, Enums.ForeignDzLayo
options.AddIfPresent(nameof(suffix), suffix);
options.AddIfPresent(nameof(overlap), overlap);
options.AddIfPresent("tile_size", tileSize);
+ options.AddIfPresent(nameof(profile), profile);
options.AddIfPresent(nameof(centre), centre);
options.AddIfPresent(nameof(depth), depth);
options.AddIfPresent(nameof(angle), angle);
@@ -1214,10 +1220,9 @@ public void Dzsave(string filename, string imagename = null, Enums.ForeignDzLayo
options.AddIfPresent(nameof(compression), compression);
options.AddIfPresent("region_shrink", regionShrink);
options.AddIfPresent("skip_blanks", skipBlanks);
- options.AddIfPresent("no_strip", noStrip);
options.AddIfPresent(nameof(id), id);
options.AddIfPresent("Q", q);
- options.AddIfPresent(nameof(strip), strip);
+ options.AddForeignKeep(keep, true);
options.AddIfPresent(nameof(background), background);
options.AddIfPresent("page_height", pageHeight);
@@ -1229,7 +1234,7 @@ public void Dzsave(string filename, string imagename = null, Enums.ForeignDzLayo
///
///
///
- /// byte[] buffer = in.DzsaveBuffer(imagename: string, layout: Enums.ForeignDzLayout, suffix: string, overlap: int, tileSize: int, centre: bool, depth: Enums.ForeignDzDepth, angle: Enums.Angle, container: Enums.ForeignDzContainer, compression: int, regionShrink: Enums.RegionShrink, skipBlanks: int, noStrip: bool, id: string, q: int, strip: bool, background: double[], pageHeight: int);
+ /// byte[] buffer = in.DzsaveBuffer(imagename: string, layout: Enums.ForeignDzLayout, suffix: string, overlap: int, tileSize: int, profile: string, centre: bool, depth: Enums.ForeignDzDepth, angle: Enums.Angle, container: Enums.ForeignDzContainer, compression: int, regionShrink: Enums.RegionShrink, skipBlanks: int, id: string, q: int, keep: Enums.ForeignKeep, background: double[], pageHeight: int);
///
///
/// Image name.
@@ -1237,6 +1242,7 @@ public void Dzsave(string filename, string imagename = null, Enums.ForeignDzLayo
/// Filename suffix for tiles.
/// Tile overlap in pixels.
/// Tile size in pixels.
+ /// Filename of ICC profile to embed.
/// Center image in tile.
/// Pyramid depth.
/// Rotate image during save.
@@ -1244,14 +1250,13 @@ public void Dzsave(string filename, string imagename = null, Enums.ForeignDzLayo
/// ZIP deflate compression level.
/// Method to shrink regions.
/// Skip tiles which are nearly equal to the background.
- /// Don't strip tile metadata.
/// Resource ID.
/// Q factor.
- /// Strip all metadata from image.
+ /// Which metadata to retain.
/// Background value.
/// Set page height for multipage save.
/// An array of bytes.
- public byte[] DzsaveBuffer(string imagename = null, Enums.ForeignDzLayout? layout = null, string suffix = null, int? overlap = null, int? tileSize = null, bool? centre = null, Enums.ForeignDzDepth? depth = null, Enums.Angle? angle = null, Enums.ForeignDzContainer? container = null, int? compression = null, Enums.RegionShrink? regionShrink = null, int? skipBlanks = null, bool? noStrip = null, string id = null, int? q = null, bool? strip = null, double[] background = null, int? pageHeight = null)
+ public byte[] DzsaveBuffer(string imagename = null, Enums.ForeignDzLayout? layout = null, string suffix = null, int? overlap = null, int? tileSize = null, string profile = null, bool? centre = null, Enums.ForeignDzDepth? depth = null, Enums.Angle? angle = null, Enums.ForeignDzContainer? container = null, int? compression = null, Enums.RegionShrink? regionShrink = null, int? skipBlanks = null, string id = null, int? q = null, Enums.ForeignKeep? keep = null, double[] background = null, int? pageHeight = null)
{
var options = new VOption();
@@ -1260,6 +1265,7 @@ public byte[] DzsaveBuffer(string imagename = null, Enums.ForeignDzLayout? layou
options.AddIfPresent(nameof(suffix), suffix);
options.AddIfPresent(nameof(overlap), overlap);
options.AddIfPresent("tile_size", tileSize);
+ options.AddIfPresent(nameof(profile), profile);
options.AddIfPresent(nameof(centre), centre);
options.AddIfPresent(nameof(depth), depth);
options.AddIfPresent(nameof(angle), angle);
@@ -1267,10 +1273,9 @@ public byte[] DzsaveBuffer(string imagename = null, Enums.ForeignDzLayout? layou
options.AddIfPresent(nameof(compression), compression);
options.AddIfPresent("region_shrink", regionShrink);
options.AddIfPresent("skip_blanks", skipBlanks);
- options.AddIfPresent("no_strip", noStrip);
options.AddIfPresent(nameof(id), id);
options.AddIfPresent("Q", q);
- options.AddIfPresent(nameof(strip), strip);
+ options.AddForeignKeep(keep, true);
options.AddIfPresent(nameof(background), background);
options.AddIfPresent("page_height", pageHeight);
@@ -1282,7 +1287,7 @@ public byte[] DzsaveBuffer(string imagename = null, Enums.ForeignDzLayout? layou
///
///
///
- /// in.DzsaveTarget(target, imagename: string, layout: Enums.ForeignDzLayout, suffix: string, overlap: int, tileSize: int, centre: bool, depth: Enums.ForeignDzDepth, angle: Enums.Angle, container: Enums.ForeignDzContainer, compression: int, regionShrink: Enums.RegionShrink, skipBlanks: int, noStrip: bool, id: string, q: int, strip: bool, background: double[], pageHeight: int);
+ /// in.DzsaveTarget(target, imagename: string, layout: Enums.ForeignDzLayout, suffix: string, overlap: int, tileSize: int, profile: string, centre: bool, depth: Enums.ForeignDzDepth, angle: Enums.Angle, container: Enums.ForeignDzContainer, compression: int, regionShrink: Enums.RegionShrink, skipBlanks: int, id: string, q: int, keep: Enums.ForeignKeep, background: double[], pageHeight: int);
///
///
/// Target to save to.
@@ -1291,6 +1296,7 @@ public byte[] DzsaveBuffer(string imagename = null, Enums.ForeignDzLayout? layou
/// Filename suffix for tiles.
/// Tile overlap in pixels.
/// Tile size in pixels.
+ /// Filename of ICC profile to embed.
/// Center image in tile.
/// Pyramid depth.
/// Rotate image during save.
@@ -1298,13 +1304,12 @@ public byte[] DzsaveBuffer(string imagename = null, Enums.ForeignDzLayout? layou
/// ZIP deflate compression level.
/// Method to shrink regions.
/// Skip tiles which are nearly equal to the background.
- /// Don't strip tile metadata.
/// Resource ID.
/// Q factor.
- /// Strip all metadata from image.
+ /// Which metadata to retain.
/// Background value.
/// Set page height for multipage save.
- public void DzsaveTarget(Target target, string imagename = null, Enums.ForeignDzLayout? layout = null, string suffix = null, int? overlap = null, int? tileSize = null, bool? centre = null, Enums.ForeignDzDepth? depth = null, Enums.Angle? angle = null, Enums.ForeignDzContainer? container = null, int? compression = null, Enums.RegionShrink? regionShrink = null, int? skipBlanks = null, bool? noStrip = null, string id = null, int? q = null, bool? strip = null, double[] background = null, int? pageHeight = null)
+ public void DzsaveTarget(Target target, string imagename = null, Enums.ForeignDzLayout? layout = null, string suffix = null, int? overlap = null, int? tileSize = null, string profile = null, bool? centre = null, Enums.ForeignDzDepth? depth = null, Enums.Angle? angle = null, Enums.ForeignDzContainer? container = null, int? compression = null, Enums.RegionShrink? regionShrink = null, int? skipBlanks = null, string id = null, int? q = null, Enums.ForeignKeep? keep = null, double[] background = null, int? pageHeight = null)
{
var options = new VOption();
@@ -1313,6 +1318,7 @@ public void DzsaveTarget(Target target, string imagename = null, Enums.ForeignDz
options.AddIfPresent(nameof(suffix), suffix);
options.AddIfPresent(nameof(overlap), overlap);
options.AddIfPresent("tile_size", tileSize);
+ options.AddIfPresent(nameof(profile), profile);
options.AddIfPresent(nameof(centre), centre);
options.AddIfPresent(nameof(depth), depth);
options.AddIfPresent(nameof(angle), angle);
@@ -1320,10 +1326,9 @@ public void DzsaveTarget(Target target, string imagename = null, Enums.ForeignDz
options.AddIfPresent(nameof(compression), compression);
options.AddIfPresent("region_shrink", regionShrink);
options.AddIfPresent("skip_blanks", skipBlanks);
- options.AddIfPresent("no_strip", noStrip);
options.AddIfPresent(nameof(id), id);
options.AddIfPresent("Q", q);
- options.AddIfPresent(nameof(strip), strip);
+ options.AddForeignKeep(keep, true);
options.AddIfPresent(nameof(background), background);
options.AddIfPresent("page_height", pageHeight);
@@ -1335,7 +1340,7 @@ public void DzsaveTarget(Target target, string imagename = null, Enums.ForeignDz
///
///
///
- /// in.DzsaveStream(stream, imagename: string, layout: Enums.ForeignDzLayout, suffix: string, overlap: int, tileSize: int, centre: bool, depth: Enums.ForeignDzDepth, angle: Enums.Angle, container: Enums.ForeignDzContainer, compression: int, regionShrink: Enums.RegionShrink, skipBlanks: int, noStrip: bool, id: string, q: int, strip: bool, background: double[], pageHeight: int);
+ /// in.DzsaveStream(stream, imagename: string, layout: Enums.ForeignDzLayout, suffix: string, overlap: int, tileSize: int, profile: string, centre: bool, depth: Enums.ForeignDzDepth, angle: Enums.Angle, container: Enums.ForeignDzContainer, compression: int, regionShrink: Enums.RegionShrink, skipBlanks: int, id: string, q: int, keep: Enums.ForeignKeep, background: double[], pageHeight: int);
///
///
/// Stream to save to.
@@ -1344,6 +1349,7 @@ public void DzsaveTarget(Target target, string imagename = null, Enums.ForeignDz
/// Filename suffix for tiles.
/// Tile overlap in pixels.
/// Tile size in pixels.
+ /// Filename of ICC profile to embed.
/// Center image in tile.
/// Pyramid depth.
/// Rotate image during save.
@@ -1351,16 +1357,15 @@ public void DzsaveTarget(Target target, string imagename = null, Enums.ForeignDz
/// ZIP deflate compression level.
/// Method to shrink regions.
/// Skip tiles which are nearly equal to the background.
- /// Don't strip tile metadata.
/// Resource ID.
/// Q factor.
- /// Strip all metadata from image.
+ /// Which metadata to retain.
/// Background value.
/// Set page height for multipage save.
- public void DzsaveStream(Stream stream, string imagename = null, Enums.ForeignDzLayout? layout = null, string suffix = null, int? overlap = null, int? tileSize = null, bool? centre = null, Enums.ForeignDzDepth? depth = null, Enums.Angle? angle = null, Enums.ForeignDzContainer? container = null, int? compression = null, Enums.RegionShrink? regionShrink = null, int? skipBlanks = null, bool? noStrip = null, string id = null, int? q = null, bool? strip = null, double[] background = null, int? pageHeight = null)
+ public void DzsaveStream(Stream stream, string imagename = null, Enums.ForeignDzLayout? layout = null, string suffix = null, int? overlap = null, int? tileSize = null, string profile = null, bool? centre = null, Enums.ForeignDzDepth? depth = null, Enums.Angle? angle = null, Enums.ForeignDzContainer? container = null, int? compression = null, Enums.RegionShrink? regionShrink = null, int? skipBlanks = null, string id = null, int? q = null, Enums.ForeignKeep? keep = null, double[] background = null, int? pageHeight = null)
{
using var target = TargetStream.NewFromStream(stream);
- DzsaveTarget(target, imagename, layout, suffix, overlap, tileSize, centre, depth, angle, container, compression, regionShrink, skipBlanks, noStrip, id, q, strip, background, pageHeight);
+ DzsaveTarget(target, imagename, layout, suffix, overlap, tileSize, profile, centre, depth, angle, container, compression, regionShrink, skipBlanks, id, q, keep, background, pageHeight);
}
///
@@ -1714,18 +1719,20 @@ public static Image FitsloadStream(Stream stream, out Enums.ForeignFlags flags,
///
///
///
- /// in.Fitssave(filename, strip: bool, background: double[], pageHeight: int);
+ /// in.Fitssave(filename, profile: string, keep: Enums.ForeignKeep, background: double[], pageHeight: int);
///
///
/// Filename to save to.
- /// Strip all metadata from image.
+ /// Filename of ICC profile to embed.
+ /// Which metadata to retain.
/// Background value.
/// Set page height for multipage save.
- public void Fitssave(string filename, bool? strip = null, double[] background = null, int? pageHeight = null)
+ public void Fitssave(string filename, string profile = null, Enums.ForeignKeep? keep = null, double[] background = null, int? pageHeight = null)
{
var options = new VOption();
- options.AddIfPresent(nameof(strip), strip);
+ options.AddIfPresent(nameof(profile), profile);
+ options.AddForeignKeep(keep);
options.AddIfPresent(nameof(background), background);
options.AddIfPresent("page_height", pageHeight);
@@ -2195,32 +2202,34 @@ public static Image GifloadStream(Stream stream, out Enums.ForeignFlags flags, i
///
///
///
- /// in.Gifsave(filename, dither: double, effort: int, bitdepth: int, interframeMaxerror: double, reuse: bool, interpaletteMaxerror: double, interlace: bool, strip: bool, background: double[], pageHeight: int);
+ /// in.Gifsave(filename, dither: double, effort: int, profile: string, bitdepth: int, interframeMaxerror: double, reuse: bool, interpaletteMaxerror: double, interlace: bool, keep: Enums.ForeignKeep, background: double[], pageHeight: int);
///
///
/// Filename to save to.
/// Amount of dithering.
/// Quantisation effort.
+ /// Filename of ICC profile to embed.
/// Number of bits per pixel.
/// Maximum inter-frame error for transparency.
/// Reuse palette from input.
/// Maximum inter-palette error for palette reusage.
/// Generate an interlaced (progressive) GIF.
- /// Strip all metadata from image.
+ /// Which metadata to retain.
/// Background value.
/// Set page height for multipage save.
- public void Gifsave(string filename, double? dither = null, int? effort = null, int? bitdepth = null, double? interframeMaxerror = null, bool? reuse = null, double? interpaletteMaxerror = null, bool? interlace = null, bool? strip = null, double[] background = null, int? pageHeight = null)
+ public void Gifsave(string filename, double? dither = null, int? effort = null, string profile = null, int? bitdepth = null, double? interframeMaxerror = null, bool? reuse = null, double? interpaletteMaxerror = null, bool? interlace = null, Enums.ForeignKeep? keep = null, double[] background = null, int? pageHeight = null)
{
var options = new VOption();
options.AddIfPresent(nameof(dither), dither);
options.AddIfPresent(nameof(effort), effort);
+ options.AddIfPresent(nameof(profile), profile);
options.AddIfPresent(nameof(bitdepth), bitdepth);
options.AddIfPresent("interframe_maxerror", interframeMaxerror);
options.AddIfPresent(nameof(reuse), reuse);
options.AddIfPresent("interpalette_maxerror", interpaletteMaxerror);
options.AddIfPresent(nameof(interlace), interlace);
- options.AddIfPresent(nameof(strip), strip);
+ options.AddForeignKeep(keep);
options.AddIfPresent(nameof(background), background);
options.AddIfPresent("page_height", pageHeight);
@@ -2232,32 +2241,34 @@ public void Gifsave(string filename, double? dither = null, int? effort = null,
///
///
///
- /// byte[] buffer = in.GifsaveBuffer(dither: double, effort: int, bitdepth: int, interframeMaxerror: double, reuse: bool, interpaletteMaxerror: double, interlace: bool, strip: bool, background: double[], pageHeight: int);
+ /// byte[] buffer = in.GifsaveBuffer(dither: double, effort: int, profile: string, bitdepth: int, interframeMaxerror: double, reuse: bool, interpaletteMaxerror: double, interlace: bool, keep: Enums.ForeignKeep, background: double[], pageHeight: int);
///
///
/// Amount of dithering.
/// Quantisation effort.
+ /// Filename of ICC profile to embed.
/// Number of bits per pixel.
/// Maximum inter-frame error for transparency.
/// Reuse palette from input.
/// Maximum inter-palette error for palette reusage.
/// Generate an interlaced (progressive) GIF.
- /// Strip all metadata from image.
+ /// Which metadata to retain.
/// Background value.
/// Set page height for multipage save.
/// An array of bytes.
- public byte[] GifsaveBuffer(double? dither = null, int? effort = null, int? bitdepth = null, double? interframeMaxerror = null, bool? reuse = null, double? interpaletteMaxerror = null, bool? interlace = null, bool? strip = null, double[] background = null, int? pageHeight = null)
+ public byte[] GifsaveBuffer(double? dither = null, int? effort = null, string profile = null, int? bitdepth = null, double? interframeMaxerror = null, bool? reuse = null, double? interpaletteMaxerror = null, bool? interlace = null, Enums.ForeignKeep? keep = null, double[] background = null, int? pageHeight = null)
{
var options = new VOption();
options.AddIfPresent(nameof(dither), dither);
options.AddIfPresent(nameof(effort), effort);
+ options.AddIfPresent(nameof(profile), profile);
options.AddIfPresent(nameof(bitdepth), bitdepth);
options.AddIfPresent("interframe_maxerror", interframeMaxerror);
options.AddIfPresent(nameof(reuse), reuse);
options.AddIfPresent("interpalette_maxerror", interpaletteMaxerror);
options.AddIfPresent(nameof(interlace), interlace);
- options.AddIfPresent(nameof(strip), strip);
+ options.AddForeignKeep(keep);
options.AddIfPresent(nameof(background), background);
options.AddIfPresent("page_height", pageHeight);
@@ -2269,32 +2280,34 @@ public byte[] GifsaveBuffer(double? dither = null, int? effort = null, int? bitd
///
///
///
- /// in.GifsaveTarget(target, dither: double, effort: int, bitdepth: int, interframeMaxerror: double, reuse: bool, interpaletteMaxerror: double, interlace: bool, strip: bool, background: double[], pageHeight: int);
+ /// in.GifsaveTarget(target, dither: double, effort: int, profile: string, bitdepth: int, interframeMaxerror: double, reuse: bool, interpaletteMaxerror: double, interlace: bool, keep: Enums.ForeignKeep, background: double[], pageHeight: int);
///
///
/// Target to save to.
/// Amount of dithering.
/// Quantisation effort.
+ /// Filename of ICC profile to embed.
/// Number of bits per pixel.
/// Maximum inter-frame error for transparency.
/// Reuse palette from input.
/// Maximum inter-palette error for palette reusage.
/// Generate an interlaced (progressive) GIF.
- /// Strip all metadata from image.
+ /// Which metadata to retain.
/// Background value.
/// Set page height for multipage save.
- public void GifsaveTarget(Target target, double? dither = null, int? effort = null, int? bitdepth = null, double? interframeMaxerror = null, bool? reuse = null, double? interpaletteMaxerror = null, bool? interlace = null, bool? strip = null, double[] background = null, int? pageHeight = null)
+ public void GifsaveTarget(Target target, double? dither = null, int? effort = null, string profile = null, int? bitdepth = null, double? interframeMaxerror = null, bool? reuse = null, double? interpaletteMaxerror = null, bool? interlace = null, Enums.ForeignKeep? keep = null, double[] background = null, int? pageHeight = null)
{
var options = new VOption();
options.AddIfPresent(nameof(dither), dither);
options.AddIfPresent(nameof(effort), effort);
+ options.AddIfPresent(nameof(profile), profile);
options.AddIfPresent(nameof(bitdepth), bitdepth);
options.AddIfPresent("interframe_maxerror", interframeMaxerror);
options.AddIfPresent(nameof(reuse), reuse);
options.AddIfPresent("interpalette_maxerror", interpaletteMaxerror);
options.AddIfPresent(nameof(interlace), interlace);
- options.AddIfPresent(nameof(strip), strip);
+ options.AddForeignKeep(keep);
options.AddIfPresent(nameof(background), background);
options.AddIfPresent("page_height", pageHeight);
@@ -2306,24 +2319,25 @@ public void GifsaveTarget(Target target, double? dither = null, int? effort = nu
///
///
///
- /// in.GifsaveStream(stream, dither: double, effort: int, bitdepth: int, interframeMaxerror: double, reuse: bool, interpaletteMaxerror: double, interlace: bool, strip: bool, background: double[], pageHeight: int);
+ /// in.GifsaveStream(stream, dither: double, effort: int, profile: string, bitdepth: int, interframeMaxerror: double, reuse: bool, interpaletteMaxerror: double, interlace: bool, keep: Enums.ForeignKeep, background: double[], pageHeight: int);
///
///
/// Stream to save to.
/// Amount of dithering.
/// Quantisation effort.
+ /// Filename of ICC profile to embed.
/// Number of bits per pixel.
/// Maximum inter-frame error for transparency.
/// Reuse palette from input.
/// Maximum inter-palette error for palette reusage.
/// Generate an interlaced (progressive) GIF.
- /// Strip all metadata from image.
+ /// Which metadata to retain.
/// Background value.
/// Set page height for multipage save.
- public void GifsaveStream(Stream stream, double? dither = null, int? effort = null, int? bitdepth = null, double? interframeMaxerror = null, bool? reuse = null, double? interpaletteMaxerror = null, bool? interlace = null, bool? strip = null, double[] background = null, int? pageHeight = null)
+ public void GifsaveStream(Stream stream, double? dither = null, int? effort = null, string profile = null, int? bitdepth = null, double? interframeMaxerror = null, bool? reuse = null, double? interpaletteMaxerror = null, bool? interlace = null, Enums.ForeignKeep? keep = null, double[] background = null, int? pageHeight = null)
{
using var target = TargetStream.NewFromStream(stream);
- GifsaveTarget(target, dither, effort, bitdepth, interframeMaxerror, reuse, interpaletteMaxerror, interlace, strip, background, pageHeight);
+ GifsaveTarget(target, dither, effort, profile, bitdepth, interframeMaxerror, reuse, interpaletteMaxerror, interlace, keep, background, pageHeight);
}
///
@@ -2699,32 +2713,34 @@ public static Image HeifloadStream(Stream stream, out Enums.ForeignFlags flags,
///
///
///
- /// in.Heifsave(filename, q: int, bitdepth: int, lossless: bool, compression: Enums.ForeignHeifCompression, effort: int, subsampleMode: Enums.ForeignSubsample, encoder: Enums.ForeignHeifEncoder, strip: bool, background: double[], pageHeight: int);
+ /// in.Heifsave(filename, q: int, bitdepth: int, profile: string, lossless: bool, compression: Enums.ForeignHeifCompression, effort: int, subsampleMode: Enums.ForeignSubsample, encoder: Enums.ForeignHeifEncoder, keep: Enums.ForeignKeep, background: double[], pageHeight: int);
///
///
/// Filename to save to.
/// Q factor.
/// Number of bits per pixel.
+ /// Filename of ICC profile to embed.
/// Enable lossless compression.
/// Compression format.
/// CPU effort.
/// Select chroma subsample operation mode.
/// Select encoder to use.
- /// Strip all metadata from image.
+ /// Which metadata to retain.
/// Background value.
/// Set page height for multipage save.
- public void Heifsave(string filename, int? q = null, int? bitdepth = null, bool? lossless = null, Enums.ForeignHeifCompression? compression = null, int? effort = null, Enums.ForeignSubsample? subsampleMode = null, Enums.ForeignHeifEncoder? encoder = null, bool? strip = null, double[] background = null, int? pageHeight = null)
+ public void Heifsave(string filename, int? q = null, int? bitdepth = null, string profile = null, bool? lossless = null, Enums.ForeignHeifCompression? compression = null, int? effort = null, Enums.ForeignSubsample? subsampleMode = null, Enums.ForeignHeifEncoder? encoder = null, Enums.ForeignKeep? keep = null, double[] background = null, int? pageHeight = null)
{
var options = new VOption();
options.AddIfPresent("Q", q);
options.AddIfPresent(nameof(bitdepth), bitdepth);
+ options.AddIfPresent(nameof(profile), profile);
options.AddIfPresent(nameof(lossless), lossless);
options.AddIfPresent(nameof(compression), compression);
options.AddIfPresent(nameof(effort), effort);
options.AddIfPresent("subsample_mode", subsampleMode);
options.AddIfPresent(nameof(encoder), encoder);
- options.AddIfPresent(nameof(strip), strip);
+ options.AddForeignKeep(keep);
options.AddIfPresent(nameof(background), background);
options.AddIfPresent("page_height", pageHeight);
@@ -2736,32 +2752,34 @@ public void Heifsave(string filename, int? q = null, int? bitdepth = null, bool?
///
///
///
- /// byte[] buffer = in.HeifsaveBuffer(q: int, bitdepth: int, lossless: bool, compression: Enums.ForeignHeifCompression, effort: int, subsampleMode: Enums.ForeignSubsample, encoder: Enums.ForeignHeifEncoder, strip: bool, background: double[], pageHeight: int);
+ /// byte[] buffer = in.HeifsaveBuffer(q: int, bitdepth: int, profile: string, lossless: bool, compression: Enums.ForeignHeifCompression, effort: int, subsampleMode: Enums.ForeignSubsample, encoder: Enums.ForeignHeifEncoder, keep: Enums.ForeignKeep, background: double[], pageHeight: int);
///
///
/// Q factor.
/// Number of bits per pixel.
+ /// Filename of ICC profile to embed.
/// Enable lossless compression.
/// Compression format.
/// CPU effort.
/// Select chroma subsample operation mode.
/// Select encoder to use.
- /// Strip all metadata from image.
+ /// Which metadata to retain.
/// Background value.
/// Set page height for multipage save.
/// An array of bytes.
- public byte[] HeifsaveBuffer(int? q = null, int? bitdepth = null, bool? lossless = null, Enums.ForeignHeifCompression? compression = null, int? effort = null, Enums.ForeignSubsample? subsampleMode = null, Enums.ForeignHeifEncoder? encoder = null, bool? strip = null, double[] background = null, int? pageHeight = null)
+ public byte[] HeifsaveBuffer(int? q = null, int? bitdepth = null, string profile = null, bool? lossless = null, Enums.ForeignHeifCompression? compression = null, int? effort = null, Enums.ForeignSubsample? subsampleMode = null, Enums.ForeignHeifEncoder? encoder = null, Enums.ForeignKeep? keep = null, double[] background = null, int? pageHeight = null)
{
var options = new VOption();
options.AddIfPresent("Q", q);
options.AddIfPresent(nameof(bitdepth), bitdepth);
+ options.AddIfPresent(nameof(profile), profile);
options.AddIfPresent(nameof(lossless), lossless);
options.AddIfPresent(nameof(compression), compression);
options.AddIfPresent(nameof(effort), effort);
options.AddIfPresent("subsample_mode", subsampleMode);
options.AddIfPresent(nameof(encoder), encoder);
- options.AddIfPresent(nameof(strip), strip);
+ options.AddForeignKeep(keep);
options.AddIfPresent(nameof(background), background);
options.AddIfPresent("page_height", pageHeight);
@@ -2773,32 +2791,34 @@ public byte[] HeifsaveBuffer(int? q = null, int? bitdepth = null, bool? lossless
///
///
///
- /// in.HeifsaveTarget(target, q: int, bitdepth: int, lossless: bool, compression: Enums.ForeignHeifCompression, effort: int, subsampleMode: Enums.ForeignSubsample, encoder: Enums.ForeignHeifEncoder, strip: bool, background: double[], pageHeight: int);
+ /// in.HeifsaveTarget(target, q: int, bitdepth: int, profile: string, lossless: bool, compression: Enums.ForeignHeifCompression, effort: int, subsampleMode: Enums.ForeignSubsample, encoder: Enums.ForeignHeifEncoder, keep: Enums.ForeignKeep, background: double[], pageHeight: int);
///
///
/// Target to save to.
/// Q factor.
/// Number of bits per pixel.
+ /// Filename of ICC profile to embed.
/// Enable lossless compression.
/// Compression format.
/// CPU effort.
/// Select chroma subsample operation mode.
/// Select encoder to use.
- /// Strip all metadata from image.
+ /// Which metadata to retain.
/// Background value.
/// Set page height for multipage save.
- public void HeifsaveTarget(Target target, int? q = null, int? bitdepth = null, bool? lossless = null, Enums.ForeignHeifCompression? compression = null, int? effort = null, Enums.ForeignSubsample? subsampleMode = null, Enums.ForeignHeifEncoder? encoder = null, bool? strip = null, double[] background = null, int? pageHeight = null)
+ public void HeifsaveTarget(Target target, int? q = null, int? bitdepth = null, string profile = null, bool? lossless = null, Enums.ForeignHeifCompression? compression = null, int? effort = null, Enums.ForeignSubsample? subsampleMode = null, Enums.ForeignHeifEncoder? encoder = null, Enums.ForeignKeep? keep = null, double[] background = null, int? pageHeight = null)
{
var options = new VOption();
options.AddIfPresent("Q", q);
options.AddIfPresent(nameof(bitdepth), bitdepth);
+ options.AddIfPresent(nameof(profile), profile);
options.AddIfPresent(nameof(lossless), lossless);
options.AddIfPresent(nameof(compression), compression);
options.AddIfPresent(nameof(effort), effort);
options.AddIfPresent("subsample_mode", subsampleMode);
options.AddIfPresent(nameof(encoder), encoder);
- options.AddIfPresent(nameof(strip), strip);
+ options.AddForeignKeep(keep);
options.AddIfPresent(nameof(background), background);
options.AddIfPresent("page_height", pageHeight);
@@ -2810,24 +2830,25 @@ public void HeifsaveTarget(Target target, int? q = null, int? bitdepth = null, b
///
///
///
- /// in.HeifsaveStream(stream, q: int, bitdepth: int, lossless: bool, compression: Enums.ForeignHeifCompression, effort: int, subsampleMode: Enums.ForeignSubsample, encoder: Enums.ForeignHeifEncoder, strip: bool, background: double[], pageHeight: int);
+ /// in.HeifsaveStream(stream, q: int, bitdepth: int, profile: string, lossless: bool, compression: Enums.ForeignHeifCompression, effort: int, subsampleMode: Enums.ForeignSubsample, encoder: Enums.ForeignHeifEncoder, keep: Enums.ForeignKeep, background: double[], pageHeight: int);
///
///
/// Stream to save to.
/// Q factor.
/// Number of bits per pixel.
+ /// Filename of ICC profile to embed.
/// Enable lossless compression.
/// Compression format.
/// CPU effort.
/// Select chroma subsample operation mode.
/// Select encoder to use.
- /// Strip all metadata from image.
+ /// Which metadata to retain.
/// Background value.
/// Set page height for multipage save.
- public void HeifsaveStream(Stream stream, int? q = null, int? bitdepth = null, bool? lossless = null, Enums.ForeignHeifCompression? compression = null, int? effort = null, Enums.ForeignSubsample? subsampleMode = null, Enums.ForeignHeifEncoder? encoder = null, bool? strip = null, double[] background = null, int? pageHeight = null)
+ public void HeifsaveStream(Stream stream, int? q = null, int? bitdepth = null, string profile = null, bool? lossless = null, Enums.ForeignHeifCompression? compression = null, int? effort = null, Enums.ForeignSubsample? subsampleMode = null, Enums.ForeignHeifEncoder? encoder = null, Enums.ForeignKeep? keep = null, double[] background = null, int? pageHeight = null)
{
using var target = TargetStream.NewFromStream(stream);
- HeifsaveTarget(target, q, bitdepth, lossless, compression, effort, subsampleMode, encoder, strip, background, pageHeight);
+ HeifsaveTarget(target, q, bitdepth, profile, lossless, compression, effort, subsampleMode, encoder, keep, background, pageHeight);
}
///
@@ -3529,28 +3550,30 @@ public static Image Jp2kloadStream(Stream stream, out Enums.ForeignFlags flags,
///
///
///
- /// in.Jp2ksave(filename, tileWidth: int, tileHeight: int, lossless: bool, q: int, subsampleMode: Enums.ForeignSubsample, strip: bool, background: double[], pageHeight: int);
+ /// in.Jp2ksave(filename, tileWidth: int, profile: string, tileHeight: int, lossless: bool, q: int, subsampleMode: Enums.ForeignSubsample, keep: Enums.ForeignKeep, background: double[], pageHeight: int);
///
///
/// Filename to load from.
/// Tile width in pixels.
+ /// Filename of ICC profile to embed.
/// Tile height in pixels.
/// Enable lossless compression.
/// Q factor.
/// Select chroma subsample operation mode.
- /// Strip all metadata from image.
+ /// Which metadata to retain.
/// Background value.
/// Set page height for multipage save.
- public void Jp2ksave(string filename, int? tileWidth = null, int? tileHeight = null, bool? lossless = null, int? q = null, Enums.ForeignSubsample? subsampleMode = null, bool? strip = null, double[] background = null, int? pageHeight = null)
+ public void Jp2ksave(string filename, int? tileWidth = null, string profile = null, int? tileHeight = null, bool? lossless = null, int? q = null, Enums.ForeignSubsample? subsampleMode = null, Enums.ForeignKeep? keep = null, double[] background = null, int? pageHeight = null)
{
var options = new VOption();
options.AddIfPresent("tile_width", tileWidth);
+ options.AddIfPresent(nameof(profile), profile);
options.AddIfPresent("tile_height", tileHeight);
options.AddIfPresent(nameof(lossless), lossless);
options.AddIfPresent("Q", q);
options.AddIfPresent("subsample_mode", subsampleMode);
- options.AddIfPresent(nameof(strip), strip);
+ options.AddForeignKeep(keep);
options.AddIfPresent(nameof(background), background);
options.AddIfPresent("page_height", pageHeight);
@@ -3562,28 +3585,30 @@ public void Jp2ksave(string filename, int? tileWidth = null, int? tileHeight = n
///
///
///
- /// byte[] buffer = in.Jp2ksaveBuffer(tileWidth: int, tileHeight: int, lossless: bool, q: int, subsampleMode: Enums.ForeignSubsample, strip: bool, background: double[], pageHeight: int);
+ /// byte[] buffer = in.Jp2ksaveBuffer(tileWidth: int, profile: string, tileHeight: int, lossless: bool, q: int, subsampleMode: Enums.ForeignSubsample, keep: Enums.ForeignKeep, background: double[], pageHeight: int);
///
///
/// Tile width in pixels.
+ /// Filename of ICC profile to embed.
/// Tile height in pixels.
/// Enable lossless compression.
/// Q factor.
/// Select chroma subsample operation mode.
- /// Strip all metadata from image.
+ /// Which metadata to retain.
/// Background value.
/// Set page height for multipage save.
/// An array of bytes.
- public byte[] Jp2ksaveBuffer(int? tileWidth = null, int? tileHeight = null, bool? lossless = null, int? q = null, Enums.ForeignSubsample? subsampleMode = null, bool? strip = null, double[] background = null, int? pageHeight = null)
+ public byte[] Jp2ksaveBuffer(int? tileWidth = null, string profile = null, int? tileHeight = null, bool? lossless = null, int? q = null, Enums.ForeignSubsample? subsampleMode = null, Enums.ForeignKeep? keep = null, double[] background = null, int? pageHeight = null)
{
var options = new VOption();
options.AddIfPresent("tile_width", tileWidth);
+ options.AddIfPresent(nameof(profile), profile);
options.AddIfPresent("tile_height", tileHeight);
options.AddIfPresent(nameof(lossless), lossless);
options.AddIfPresent("Q", q);
options.AddIfPresent("subsample_mode", subsampleMode);
- options.AddIfPresent(nameof(strip), strip);
+ options.AddForeignKeep(keep);
options.AddIfPresent(nameof(background), background);
options.AddIfPresent("page_height", pageHeight);
@@ -3595,28 +3620,30 @@ public byte[] Jp2ksaveBuffer(int? tileWidth = null, int? tileHeight = null, bool
///
///
///
- /// in.Jp2ksaveTarget(target, tileWidth: int, tileHeight: int, lossless: bool, q: int, subsampleMode: Enums.ForeignSubsample, strip: bool, background: double[], pageHeight: int);
+ /// in.Jp2ksaveTarget(target, tileWidth: int, profile: string, tileHeight: int, lossless: bool, q: int, subsampleMode: Enums.ForeignSubsample, keep: Enums.ForeignKeep, background: double[], pageHeight: int);
///
///
/// Target to save to.
/// Tile width in pixels.
+ /// Filename of ICC profile to embed.
/// Tile height in pixels.
/// Enable lossless compression.
/// Q factor.
/// Select chroma subsample operation mode.
- /// Strip all metadata from image.
+ /// Which metadata to retain.
/// Background value.
/// Set page height for multipage save.
- public void Jp2ksaveTarget(Target target, int? tileWidth = null, int? tileHeight = null, bool? lossless = null, int? q = null, Enums.ForeignSubsample? subsampleMode = null, bool? strip = null, double[] background = null, int? pageHeight = null)
+ public void Jp2ksaveTarget(Target target, int? tileWidth = null, string profile = null, int? tileHeight = null, bool? lossless = null, int? q = null, Enums.ForeignSubsample? subsampleMode = null, Enums.ForeignKeep? keep = null, double[] background = null, int? pageHeight = null)
{
var options = new VOption();
options.AddIfPresent("tile_width", tileWidth);
+ options.AddIfPresent(nameof(profile), profile);
options.AddIfPresent("tile_height", tileHeight);
options.AddIfPresent(nameof(lossless), lossless);
options.AddIfPresent("Q", q);
options.AddIfPresent("subsample_mode", subsampleMode);
- options.AddIfPresent(nameof(strip), strip);
+ options.AddForeignKeep(keep);
options.AddIfPresent(nameof(background), background);
options.AddIfPresent("page_height", pageHeight);
@@ -3628,22 +3655,23 @@ public void Jp2ksaveTarget(Target target, int? tileWidth = null, int? tileHeight
///
///
///
- /// in.Jp2ksaveStream(stream, tileWidth: int, tileHeight: int, lossless: bool, q: int, subsampleMode: Enums.ForeignSubsample, strip: bool, background: double[], pageHeight: int);
+ /// in.Jp2ksaveStream(stream, tileWidth: int, profile: string, tileHeight: int, lossless: bool, q: int, subsampleMode: Enums.ForeignSubsample, keep: Enums.ForeignKeep, background: double[], pageHeight: int);
///
///
/// Stream to save to.
/// Tile width in pixels.
+ /// Filename of ICC profile to embed.
/// Tile height in pixels.
/// Enable lossless compression.
/// Q factor.
/// Select chroma subsample operation mode.
- /// Strip all metadata from image.
+ /// Which metadata to retain.
/// Background value.
/// Set page height for multipage save.
- public void Jp2ksaveStream(Stream stream, int? tileWidth = null, int? tileHeight = null, bool? lossless = null, int? q = null, Enums.ForeignSubsample? subsampleMode = null, bool? strip = null, double[] background = null, int? pageHeight = null)
+ public void Jp2ksaveStream(Stream stream, int? tileWidth = null, string profile = null, int? tileHeight = null, bool? lossless = null, int? q = null, Enums.ForeignSubsample? subsampleMode = null, Enums.ForeignKeep? keep = null, double[] background = null, int? pageHeight = null)
{
using var target = TargetStream.NewFromStream(stream);
- Jp2ksaveTarget(target, tileWidth, tileHeight, lossless, q, subsampleMode, strip, background, pageHeight);
+ Jp2ksaveTarget(target, tileWidth, profile, tileHeight, lossless, q, subsampleMode, keep, background, pageHeight);
}
///
@@ -3922,12 +3950,12 @@ public static Image JpegloadStream(Stream stream, out Enums.ForeignFlags flags,
///
///
///
- /// in.Jpegsave(filename, q: int, profile: string, optimizeCoding: bool, interlace: bool, trellisQuant: bool, overshootDeringing: bool, optimizeScans: bool, quantTable: int, subsampleMode: Enums.ForeignSubsample, restartInterval: int, strip: bool, background: double[], pageHeight: int);
+ /// in.Jpegsave(filename, q: int, profile: string, optimizeCoding: bool, interlace: bool, trellisQuant: bool, overshootDeringing: bool, optimizeScans: bool, quantTable: int, subsampleMode: Enums.ForeignSubsample, restartInterval: int, keep: Enums.ForeignKeep, background: double[], pageHeight: int);
///
///
/// Filename to save to.
/// Q factor.
- /// ICC profile to embed.
+ /// Filename of ICC profile to embed.
/// Compute optimal Huffman coding tables.
/// Generate an interlaced (progressive) jpeg.
/// Apply trellis quantisation to each 8x8 block.
@@ -3936,10 +3964,10 @@ public static Image JpegloadStream(Stream stream, out Enums.ForeignFlags flags,
/// Use predefined quantization table with given index.
/// Select chroma subsample operation mode.
/// Add restart markers every specified number of mcu.
- /// Strip all metadata from image.
+ /// Which metadata to retain.
/// Background value.
/// Set page height for multipage save.
- public void Jpegsave(string filename, int? q = null, string profile = null, bool? optimizeCoding = null, bool? interlace = null, bool? trellisQuant = null, bool? overshootDeringing = null, bool? optimizeScans = null, int? quantTable = null, Enums.ForeignSubsample? subsampleMode = null, int? restartInterval = null, bool? strip = null, double[] background = null, int? pageHeight = null)
+ public void Jpegsave(string filename, int? q = null, string profile = null, bool? optimizeCoding = null, bool? interlace = null, bool? trellisQuant = null, bool? overshootDeringing = null, bool? optimizeScans = null, int? quantTable = null, Enums.ForeignSubsample? subsampleMode = null, int? restartInterval = null, Enums.ForeignKeep? keep = null, double[] background = null, int? pageHeight = null)
{
var options = new VOption();
@@ -3953,7 +3981,7 @@ public void Jpegsave(string filename, int? q = null, string profile = null, bool
options.AddIfPresent("quant_table", quantTable);
options.AddIfPresent("subsample_mode", subsampleMode);
options.AddIfPresent("restart_interval", restartInterval);
- options.AddIfPresent(nameof(strip), strip);
+ options.AddForeignKeep(keep);
options.AddIfPresent(nameof(background), background);
options.AddIfPresent("page_height", pageHeight);
@@ -3965,11 +3993,11 @@ public void Jpegsave(string filename, int? q = null, string profile = null, bool
///
///
///
- /// byte[] buffer = in.JpegsaveBuffer(q: int, profile: string, optimizeCoding: bool, interlace: bool, trellisQuant: bool, overshootDeringing: bool, optimizeScans: bool, quantTable: int, subsampleMode: Enums.ForeignSubsample, restartInterval: int, strip: bool, background: double[], pageHeight: int);
+ /// byte[] buffer = in.JpegsaveBuffer(q: int, profile: string, optimizeCoding: bool, interlace: bool, trellisQuant: bool, overshootDeringing: bool, optimizeScans: bool, quantTable: int, subsampleMode: Enums.ForeignSubsample, restartInterval: int, keep: Enums.ForeignKeep, background: double[], pageHeight: int);
///
///
/// Q factor.
- /// ICC profile to embed.
+ /// Filename of ICC profile to embed.
/// Compute optimal Huffman coding tables.
/// Generate an interlaced (progressive) jpeg.
/// Apply trellis quantisation to each 8x8 block.
@@ -3978,11 +4006,11 @@ public void Jpegsave(string filename, int? q = null, string profile = null, bool
/// Use predefined quantization table with given index.
/// Select chroma subsample operation mode.
/// Add restart markers every specified number of mcu.
- /// Strip all metadata from image.
+ /// Which metadata to retain.
/// Background value.
/// Set page height for multipage save.
/// An array of bytes.
- public byte[] JpegsaveBuffer(int? q = null, string profile = null, bool? optimizeCoding = null, bool? interlace = null, bool? trellisQuant = null, bool? overshootDeringing = null, bool? optimizeScans = null, int? quantTable = null, Enums.ForeignSubsample? subsampleMode = null, int? restartInterval = null, bool? strip = null, double[] background = null, int? pageHeight = null)
+ public byte[] JpegsaveBuffer(int? q = null, string profile = null, bool? optimizeCoding = null, bool? interlace = null, bool? trellisQuant = null, bool? overshootDeringing = null, bool? optimizeScans = null, int? quantTable = null, Enums.ForeignSubsample? subsampleMode = null, int? restartInterval = null, Enums.ForeignKeep? keep = null, double[] background = null, int? pageHeight = null)
{
var options = new VOption();
@@ -3996,7 +4024,7 @@ public byte[] JpegsaveBuffer(int? q = null, string profile = null, bool? optimiz
options.AddIfPresent("quant_table", quantTable);
options.AddIfPresent("subsample_mode", subsampleMode);
options.AddIfPresent("restart_interval", restartInterval);
- options.AddIfPresent(nameof(strip), strip);
+ options.AddForeignKeep(keep);
options.AddIfPresent(nameof(background), background);
options.AddIfPresent("page_height", pageHeight);
@@ -4008,11 +4036,11 @@ public byte[] JpegsaveBuffer(int? q = null, string profile = null, bool? optimiz
///
///
///
- /// in.JpegsaveMime(q: int, profile: string, optimizeCoding: bool, interlace: bool, trellisQuant: bool, overshootDeringing: bool, optimizeScans: bool, quantTable: int, subsampleMode: Enums.ForeignSubsample, restartInterval: int, strip: bool, background: double[], pageHeight: int);
+ /// in.JpegsaveMime(q: int, profile: string, optimizeCoding: bool, interlace: bool, trellisQuant: bool, overshootDeringing: bool, optimizeScans: bool, quantTable: int, subsampleMode: Enums.ForeignSubsample, restartInterval: int, keep: Enums.ForeignKeep, background: double[], pageHeight: int);
///
///
/// Q factor.
- /// ICC profile to embed.
+ /// Filename of ICC profile to embed.
/// Compute optimal Huffman coding tables.
/// Generate an interlaced (progressive) jpeg.
/// Apply trellis quantisation to each 8x8 block.
@@ -4021,10 +4049,10 @@ public byte[] JpegsaveBuffer(int? q = null, string profile = null, bool? optimiz
/// Use predefined quantization table with given index.
/// Select chroma subsample operation mode.
/// Add restart markers every specified number of mcu.
- /// Strip all metadata from image.
+ /// Which metadata to retain.
/// Background value.
/// Set page height for multipage save.
- public void JpegsaveMime(int? q = null, string profile = null, bool? optimizeCoding = null, bool? interlace = null, bool? trellisQuant = null, bool? overshootDeringing = null, bool? optimizeScans = null, int? quantTable = null, Enums.ForeignSubsample? subsampleMode = null, int? restartInterval = null, bool? strip = null, double[] background = null, int? pageHeight = null)
+ public void JpegsaveMime(int? q = null, string profile = null, bool? optimizeCoding = null, bool? interlace = null, bool? trellisQuant = null, bool? overshootDeringing = null, bool? optimizeScans = null, int? quantTable = null, Enums.ForeignSubsample? subsampleMode = null, int? restartInterval = null, Enums.ForeignKeep? keep = null, double[] background = null, int? pageHeight = null)
{
var options = new VOption();
@@ -4038,7 +4066,7 @@ public void JpegsaveMime(int? q = null, string profile = null, bool? optimizeCod
options.AddIfPresent("quant_table", quantTable);
options.AddIfPresent("subsample_mode", subsampleMode);
options.AddIfPresent("restart_interval", restartInterval);
- options.AddIfPresent(nameof(strip), strip);
+ options.AddForeignKeep(keep);
options.AddIfPresent(nameof(background), background);
options.AddIfPresent("page_height", pageHeight);
@@ -4050,12 +4078,12 @@ public void JpegsaveMime(int? q = null, string profile = null, bool? optimizeCod
///
///
///
- /// in.JpegsaveTarget(target, q: int, profile: string, optimizeCoding: bool, interlace: bool, trellisQuant: bool, overshootDeringing: bool, optimizeScans: bool, quantTable: int, subsampleMode: Enums.ForeignSubsample, restartInterval: int, strip: bool, background: double[], pageHeight: int);
+ /// in.JpegsaveTarget(target, q: int, profile: string, optimizeCoding: bool, interlace: bool, trellisQuant: bool, overshootDeringing: bool, optimizeScans: bool, quantTable: int, subsampleMode: Enums.ForeignSubsample, restartInterval: int, keep: Enums.ForeignKeep, background: double[], pageHeight: int);
///
///
/// Target to save to.
/// Q factor.
- /// ICC profile to embed.
+ /// Filename of ICC profile to embed.
/// Compute optimal Huffman coding tables.
/// Generate an interlaced (progressive) jpeg.
/// Apply trellis quantisation to each 8x8 block.
@@ -4064,10 +4092,10 @@ public void JpegsaveMime(int? q = null, string profile = null, bool? optimizeCod
/// Use predefined quantization table with given index.
/// Select chroma subsample operation mode.
/// Add restart markers every specified number of mcu.
- /// Strip all metadata from image.
+ /// Which metadata to retain.
/// Background value.
/// Set page height for multipage save.
- public void JpegsaveTarget(Target target, int? q = null, string profile = null, bool? optimizeCoding = null, bool? interlace = null, bool? trellisQuant = null, bool? overshootDeringing = null, bool? optimizeScans = null, int? quantTable = null, Enums.ForeignSubsample? subsampleMode = null, int? restartInterval = null, bool? strip = null, double[] background = null, int? pageHeight = null)
+ public void JpegsaveTarget(Target target, int? q = null, string profile = null, bool? optimizeCoding = null, bool? interlace = null, bool? trellisQuant = null, bool? overshootDeringing = null, bool? optimizeScans = null, int? quantTable = null, Enums.ForeignSubsample? subsampleMode = null, int? restartInterval = null, Enums.ForeignKeep? keep = null, double[] background = null, int? pageHeight = null)
{
var options = new VOption();
@@ -4081,7 +4109,7 @@ public void JpegsaveTarget(Target target, int? q = null, string profile = null,
options.AddIfPresent("quant_table", quantTable);
options.AddIfPresent("subsample_mode", subsampleMode);
options.AddIfPresent("restart_interval", restartInterval);
- options.AddIfPresent(nameof(strip), strip);
+ options.AddForeignKeep(keep);
options.AddIfPresent(nameof(background), background);
options.AddIfPresent("page_height", pageHeight);
@@ -4093,12 +4121,12 @@ public void JpegsaveTarget(Target target, int? q = null, string profile = null,
///
///
///
- /// in.JpegsaveStream(stream, q: int, profile: string, optimizeCoding: bool, interlace: bool, trellisQuant: bool, overshootDeringing: bool, optimizeScans: bool, quantTable: int, subsampleMode: Enums.ForeignSubsample, restartInterval: int, strip: bool, background: double[], pageHeight: int);
+ /// in.JpegsaveStream(stream, q: int, profile: string, optimizeCoding: bool, interlace: bool, trellisQuant: bool, overshootDeringing: bool, optimizeScans: bool, quantTable: int, subsampleMode: Enums.ForeignSubsample, restartInterval: int, keep: Enums.ForeignKeep, background: double[], pageHeight: int);
///
///
/// Stream to save to.
/// Q factor.
- /// ICC profile to embed.
+ /// Filename of ICC profile to embed.
/// Compute optimal Huffman coding tables.
/// Generate an interlaced (progressive) jpeg.
/// Apply trellis quantisation to each 8x8 block.
@@ -4107,13 +4135,13 @@ public void JpegsaveTarget(Target target, int? q = null, string profile = null,
/// Use predefined quantization table with given index.
/// Select chroma subsample operation mode.
/// Add restart markers every specified number of mcu.
- /// Strip all metadata from image.
+ /// Which metadata to retain.
/// Background value.
/// Set page height for multipage save.
- public void JpegsaveStream(Stream stream, int? q = null, string profile = null, bool? optimizeCoding = null, bool? interlace = null, bool? trellisQuant = null, bool? overshootDeringing = null, bool? optimizeScans = null, int? quantTable = null, Enums.ForeignSubsample? subsampleMode = null, int? restartInterval = null, bool? strip = null, double[] background = null, int? pageHeight = null)
+ public void JpegsaveStream(Stream stream, int? q = null, string profile = null, bool? optimizeCoding = null, bool? interlace = null, bool? trellisQuant = null, bool? overshootDeringing = null, bool? optimizeScans = null, int? quantTable = null, Enums.ForeignSubsample? subsampleMode = null, int? restartInterval = null, Enums.ForeignKeep? keep = null, double[] background = null, int? pageHeight = null)
{
using var target = TargetStream.NewFromStream(stream);
- JpegsaveTarget(target, q, profile, optimizeCoding, interlace, trellisQuant, overshootDeringing, optimizeScans, quantTable, subsampleMode, restartInterval, strip, background, pageHeight);
+ JpegsaveTarget(target, q, profile, optimizeCoding, interlace, trellisQuant, overshootDeringing, optimizeScans, quantTable, subsampleMode, restartInterval, keep, background, pageHeight);
}
///
@@ -4350,28 +4378,30 @@ public static Image JxlloadStream(Stream stream, out Enums.ForeignFlags flags, b
///
///
///
- /// in.Jxlsave(filename, tier: int, distance: double, effort: int, lossless: bool, q: int, strip: bool, background: double[], pageHeight: int);
+ /// in.Jxlsave(filename, tier: int, distance: double, profile: string, effort: int, lossless: bool, q: int, keep: Enums.ForeignKeep, background: double[], pageHeight: int);
///
///
/// Filename to load from.
/// Decode speed tier.
/// Target butteraugli distance.
+ /// Filename of ICC profile to embed.
/// Encoding effort.
/// Enable lossless compression.
/// Quality factor.
- /// Strip all metadata from image.
+ /// Which metadata to retain.
/// Background value.
/// Set page height for multipage save.
- public void Jxlsave(string filename, int? tier = null, double? distance = null, int? effort = null, bool? lossless = null, int? q = null, bool? strip = null, double[] background = null, int? pageHeight = null)
+ public void Jxlsave(string filename, int? tier = null, double? distance = null, string profile = null, int? effort = null, bool? lossless = null, int? q = null, Enums.ForeignKeep? keep = null, double[] background = null, int? pageHeight = null)
{
var options = new VOption();
options.AddIfPresent(nameof(tier), tier);
options.AddIfPresent(nameof(distance), distance);
+ options.AddIfPresent(nameof(profile), profile);
options.AddIfPresent(nameof(effort), effort);
options.AddIfPresent(nameof(lossless), lossless);
options.AddIfPresent("Q", q);
- options.AddIfPresent(nameof(strip), strip);
+ options.AddForeignKeep(keep);
options.AddIfPresent(nameof(background), background);
options.AddIfPresent("page_height", pageHeight);
@@ -4383,28 +4413,30 @@ public void Jxlsave(string filename, int? tier = null, double? distance = null,
///
///
///
- /// byte[] buffer = in.JxlsaveBuffer(tier: int, distance: double, effort: int, lossless: bool, q: int, strip: bool, background: double[], pageHeight: int);
+ /// byte[] buffer = in.JxlsaveBuffer(tier: int, distance: double, profile: string, effort: int, lossless: bool, q: int, keep: Enums.ForeignKeep, background: double[], pageHeight: int);
///
///
/// Decode speed tier.
/// Target butteraugli distance.
+ /// Filename of ICC profile to embed.
/// Encoding effort.
/// Enable lossless compression.
/// Quality factor.
- /// Strip all metadata from image.
+ /// Which metadata to retain.
/// Background value.
/// Set page height for multipage save.
/// An array of bytes.
- public byte[] JxlsaveBuffer(int? tier = null, double? distance = null, int? effort = null, bool? lossless = null, int? q = null, bool? strip = null, double[] background = null, int? pageHeight = null)
+ public byte[] JxlsaveBuffer(int? tier = null, double? distance = null, string profile = null, int? effort = null, bool? lossless = null, int? q = null, Enums.ForeignKeep? keep = null, double[] background = null, int? pageHeight = null)
{
var options = new VOption();
options.AddIfPresent(nameof(tier), tier);
options.AddIfPresent(nameof(distance), distance);
+ options.AddIfPresent(nameof(profile), profile);
options.AddIfPresent(nameof(effort), effort);
options.AddIfPresent(nameof(lossless), lossless);
options.AddIfPresent("Q", q);
- options.AddIfPresent(nameof(strip), strip);
+ options.AddForeignKeep(keep);
options.AddIfPresent(nameof(background), background);
options.AddIfPresent("page_height", pageHeight);
@@ -4416,28 +4448,30 @@ public byte[] JxlsaveBuffer(int? tier = null, double? distance = null, int? effo
///
///
///
- /// in.JxlsaveTarget(target, tier: int, distance: double, effort: int, lossless: bool, q: int, strip: bool, background: double[], pageHeight: int);
+ /// in.JxlsaveTarget(target, tier: int, distance: double, profile: string, effort: int, lossless: bool, q: int, keep: Enums.ForeignKeep, background: double[], pageHeight: int);
///
///
/// Target to save to.
/// Decode speed tier.
/// Target butteraugli distance.
+ /// Filename of ICC profile to embed.
/// Encoding effort.
/// Enable lossless compression.
/// Quality factor.
- /// Strip all metadata from image.
+ /// Which metadata to retain.
/// Background value.
/// Set page height for multipage save.
- public void JxlsaveTarget(Target target, int? tier = null, double? distance = null, int? effort = null, bool? lossless = null, int? q = null, bool? strip = null, double[] background = null, int? pageHeight = null)
+ public void JxlsaveTarget(Target target, int? tier = null, double? distance = null, string profile = null, int? effort = null, bool? lossless = null, int? q = null, Enums.ForeignKeep? keep = null, double[] background = null, int? pageHeight = null)
{
var options = new VOption();
options.AddIfPresent(nameof(tier), tier);
options.AddIfPresent(nameof(distance), distance);
+ options.AddIfPresent(nameof(profile), profile);
options.AddIfPresent(nameof(effort), effort);
options.AddIfPresent(nameof(lossless), lossless);
options.AddIfPresent("Q", q);
- options.AddIfPresent(nameof(strip), strip);
+ options.AddForeignKeep(keep);
options.AddIfPresent(nameof(background), background);
options.AddIfPresent("page_height", pageHeight);
@@ -4449,22 +4483,23 @@ public void JxlsaveTarget(Target target, int? tier = null, double? distance = nu
///
///
///
- /// in.JxlsaveStream(stream, tier: int, distance: double, effort: int, lossless: bool, q: int, strip: bool, background: double[], pageHeight: int);
+ /// in.JxlsaveStream(stream, tier: int, distance: double, profile: string, effort: int, lossless: bool, q: int, keep: Enums.ForeignKeep, background: double[], pageHeight: int);
///
///
/// Stream to save to.
/// Decode speed tier.
/// Target butteraugli distance.
+ /// Filename of ICC profile to embed.
/// Encoding effort.
/// Enable lossless compression.
/// Quality factor.
- /// Strip all metadata from image.
+ /// Which metadata to retain.
/// Background value.
/// Set page height for multipage save.
- public void JxlsaveStream(Stream stream, int? tier = null, double? distance = null, int? effort = null, bool? lossless = null, int? q = null, bool? strip = null, double[] background = null, int? pageHeight = null)
+ public void JxlsaveStream(Stream stream, int? tier = null, double? distance = null, string profile = null, int? effort = null, bool? lossless = null, int? q = null, Enums.ForeignKeep? keep = null, double[] background = null, int? pageHeight = null)
{
using var target = TargetStream.NewFromStream(stream);
- JxlsaveTarget(target, tier, distance, effort, lossless, q, strip, background, pageHeight);
+ JxlsaveTarget(target, tier, distance, profile, effort, lossless, q, keep, background, pageHeight);
}
///
@@ -4883,7 +4918,7 @@ public static Image MagickloadBuffer(byte[] buffer, out Enums.ForeignFlags flags
///
///
///
- /// in.Magicksave(filename, format: string, quality: int, optimizeGifFrames: bool, optimizeGifTransparency: bool, bitdepth: int, strip: bool, background: double[], pageHeight: int);
+ /// in.Magicksave(filename, format: string, quality: int, optimizeGifFrames: bool, optimizeGifTransparency: bool, bitdepth: int, profile: string, keep: Enums.ForeignKeep, background: double[], pageHeight: int);
///
///
/// Filename to save to.
@@ -4892,10 +4927,11 @@ public static Image MagickloadBuffer(byte[] buffer, out Enums.ForeignFlags flags
/// Apply GIF frames optimization.
/// Apply GIF transparency optimization.
/// Number of bits per pixel.
- /// Strip all metadata from image.
+ /// Filename of ICC profile to embed.
+ /// Which metadata to retain.
/// Background value.
/// Set page height for multipage save.
- public void Magicksave(string filename, string format = null, int? quality = null, bool? optimizeGifFrames = null, bool? optimizeGifTransparency = null, int? bitdepth = null, bool? strip = null, double[] background = null, int? pageHeight = null)
+ public void Magicksave(string filename, string format = null, int? quality = null, bool? optimizeGifFrames = null, bool? optimizeGifTransparency = null, int? bitdepth = null, string profile = null, Enums.ForeignKeep? keep = null, double[] background = null, int? pageHeight = null)
{
var options = new VOption();
@@ -4904,7 +4940,8 @@ public void Magicksave(string filename, string format = null, int? quality = nul
options.AddIfPresent("optimize_gif_frames", optimizeGifFrames);
options.AddIfPresent("optimize_gif_transparency", optimizeGifTransparency);
options.AddIfPresent(nameof(bitdepth), bitdepth);
- options.AddIfPresent(nameof(strip), strip);
+ options.AddIfPresent(nameof(profile), profile);
+ options.AddForeignKeep(keep);
options.AddIfPresent(nameof(background), background);
options.AddIfPresent("page_height", pageHeight);
@@ -4916,7 +4953,7 @@ public void Magicksave(string filename, string format = null, int? quality = nul
///
///
///
- /// byte[] buffer = in.MagicksaveBuffer(format: string, quality: int, optimizeGifFrames: bool, optimizeGifTransparency: bool, bitdepth: int, strip: bool, background: double[], pageHeight: int);
+ /// byte[] buffer = in.MagicksaveBuffer(format: string, quality: int, optimizeGifFrames: bool, optimizeGifTransparency: bool, bitdepth: int, profile: string, keep: Enums.ForeignKeep, background: double[], pageHeight: int);
///
///
/// Format to save in.
@@ -4924,11 +4961,12 @@ public void Magicksave(string filename, string format = null, int? quality = nul
/// Apply GIF frames optimization.
/// Apply GIF transparency optimization.
/// Number of bits per pixel.
- /// Strip all metadata from image.
+ /// Filename of ICC profile to embed.
+ /// Which metadata to retain.
/// Background value.
/// Set page height for multipage save.
/// An array of bytes.
- public byte[] MagicksaveBuffer(string format = null, int? quality = null, bool? optimizeGifFrames = null, bool? optimizeGifTransparency = null, int? bitdepth = null, bool? strip = null, double[] background = null, int? pageHeight = null)
+ public byte[] MagicksaveBuffer(string format = null, int? quality = null, bool? optimizeGifFrames = null, bool? optimizeGifTransparency = null, int? bitdepth = null, string profile = null, Enums.ForeignKeep? keep = null, double[] background = null, int? pageHeight = null)
{
var options = new VOption();
@@ -4937,7 +4975,8 @@ public byte[] MagicksaveBuffer(string format = null, int? quality = null, bool?
options.AddIfPresent("optimize_gif_frames", optimizeGifFrames);
options.AddIfPresent("optimize_gif_transparency", optimizeGifTransparency);
options.AddIfPresent(nameof(bitdepth), bitdepth);
- options.AddIfPresent(nameof(strip), strip);
+ options.AddIfPresent(nameof(profile), profile);
+ options.AddForeignKeep(keep);
options.AddIfPresent(nameof(background), background);
options.AddIfPresent("page_height", pageHeight);
@@ -5617,17 +5656,19 @@ public static Image MatrixloadStream(Stream stream, out Enums.ForeignFlags flags
///
///
///
- /// in.Matrixprint(strip: bool, background: double[], pageHeight: int);
+ /// in.Matrixprint(profile: string, keep: Enums.ForeignKeep, background: double[], pageHeight: int);
///
///
- /// Strip all metadata from image.
+ /// Filename of ICC profile to embed.
+ /// Which metadata to retain.
/// Background value.
/// Set page height for multipage save.
- public void Matrixprint(bool? strip = null, double[] background = null, int? pageHeight = null)
+ public void Matrixprint(string profile = null, Enums.ForeignKeep? keep = null, double[] background = null, int? pageHeight = null)
{
var options = new VOption();
- options.AddIfPresent(nameof(strip), strip);
+ options.AddIfPresent(nameof(profile), profile);
+ options.AddForeignKeep(keep);
options.AddIfPresent(nameof(background), background);
options.AddIfPresent("page_height", pageHeight);
@@ -5639,18 +5680,20 @@ public void Matrixprint(bool? strip = null, double[] background = null, int? pag
///
///
///
- /// in.Matrixsave(filename, strip: bool, background: double[], pageHeight: int);
+ /// in.Matrixsave(filename, profile: string, keep: Enums.ForeignKeep, background: double[], pageHeight: int);
///
///
/// Filename to save to.
- /// Strip all metadata from image.
+ /// Filename of ICC profile to embed.
+ /// Which metadata to retain.
/// Background value.
/// Set page height for multipage save.
- public void Matrixsave(string filename, bool? strip = null, double[] background = null, int? pageHeight = null)
+ public void Matrixsave(string filename, string profile = null, Enums.ForeignKeep? keep = null, double[] background = null, int? pageHeight = null)
{
var options = new VOption();
- options.AddIfPresent(nameof(strip), strip);
+ options.AddIfPresent(nameof(profile), profile);
+ options.AddForeignKeep(keep);
options.AddIfPresent(nameof(background), background);
options.AddIfPresent("page_height", pageHeight);
@@ -5662,18 +5705,20 @@ public void Matrixsave(string filename, bool? strip = null, double[] background
///
///
///
- /// in.MatrixsaveTarget(target, strip: bool, background: double[], pageHeight: int);
+ /// in.MatrixsaveTarget(target, profile: string, keep: Enums.ForeignKeep, background: double[], pageHeight: int);
///
///
/// Target to save to.
- /// Strip all metadata from image.
+ /// Filename of ICC profile to embed.
+ /// Which metadata to retain.
/// Background value.
/// Set page height for multipage save.
- public void MatrixsaveTarget(Target target, bool? strip = null, double[] background = null, int? pageHeight = null)
+ public void MatrixsaveTarget(Target target, string profile = null, Enums.ForeignKeep? keep = null, double[] background = null, int? pageHeight = null)
{
var options = new VOption();
- options.AddIfPresent(nameof(strip), strip);
+ options.AddIfPresent(nameof(profile), profile);
+ options.AddForeignKeep(keep);
options.AddIfPresent(nameof(background), background);
options.AddIfPresent("page_height", pageHeight);
@@ -5685,17 +5730,18 @@ public void MatrixsaveTarget(Target target, bool? strip = null, double[] backgro
///
///
///
- /// in.MatrixsaveStream(stream, strip: bool, background: double[], pageHeight: int);
+ /// in.MatrixsaveStream(stream, profile: string, keep: Enums.ForeignKeep, background: double[], pageHeight: int);
///
///
/// Stream to save to.
- /// Strip all metadata from image.
+ /// Filename of ICC profile to embed.
+ /// Which metadata to retain.
/// Background value.
/// Set page height for multipage save.
- public void MatrixsaveStream(Stream stream, bool? strip = null, double[] background = null, int? pageHeight = null)
+ public void MatrixsaveStream(Stream stream, string profile = null, Enums.ForeignKeep? keep = null, double[] background = null, int? pageHeight = null)
{
using var target = TargetStream.NewFromStream(stream);
- MatrixsaveTarget(target, strip, background, pageHeight);
+ MatrixsaveTarget(target, profile, keep, background, pageHeight);
}
///
@@ -6687,18 +6733,20 @@ public static Image NiftiloadStream(Stream stream, out Enums.ForeignFlags flags,
///
///
///
- /// in.Niftisave(filename, strip: bool, background: double[], pageHeight: int);
+ /// in.Niftisave(filename, profile: string, keep: Enums.ForeignKeep, background: double[], pageHeight: int);
///
///
/// Filename to save to.
- /// Strip all metadata from image.
+ /// Filename of ICC profile to embed.
+ /// Which metadata to retain.
/// Background value.
/// Set page height for multipage save.
- public void Niftisave(string filename, bool? strip = null, double[] background = null, int? pageHeight = null)
+ public void Niftisave(string filename, string profile = null, Enums.ForeignKeep? keep = null, double[] background = null, int? pageHeight = null)
{
var options = new VOption();
- options.AddIfPresent(nameof(strip), strip);
+ options.AddIfPresent(nameof(profile), profile);
+ options.AddForeignKeep(keep);
options.AddIfPresent(nameof(background), background);
options.AddIfPresent("page_height", pageHeight);
@@ -7600,23 +7648,23 @@ public static Image PngloadStream(Stream stream, out Enums.ForeignFlags flags, b
///
///
///
- /// in.Pngsave(filename, compression: int, interlace: bool, profile: string, filter: Enums.ForeignPngFilter, palette: bool, q: int, dither: double, bitdepth: int, effort: int, strip: bool, background: double[], pageHeight: int);
+ /// in.Pngsave(filename, compression: int, interlace: bool, profile: string, filter: Enums.ForeignPngFilter, palette: bool, q: int, dither: double, bitdepth: int, effort: int, keep: Enums.ForeignKeep, background: double[], pageHeight: int);
///
///
/// Filename to save to.
/// Compression factor.
/// Interlace image.
- /// ICC profile to embed.
+ /// Filename of ICC profile to embed.
/// libspng row filter flag(s).
/// Quantise to 8bpp palette.
/// Quantisation quality.
/// Amount of dithering.
/// Write as a 1, 2, 4, 8 or 16 bit image.
/// Quantisation CPU effort.
- /// Strip all metadata from image.
+ /// Which metadata to retain.
/// Background value.
/// Set page height for multipage save.
- public void Pngsave(string filename, int? compression = null, bool? interlace = null, string profile = null, Enums.ForeignPngFilter? filter = null, bool? palette = null, int? q = null, double? dither = null, int? bitdepth = null, int? effort = null, bool? strip = null, double[] background = null, int? pageHeight = null)
+ public void Pngsave(string filename, int? compression = null, bool? interlace = null, string profile = null, Enums.ForeignPngFilter? filter = null, bool? palette = null, int? q = null, double? dither = null, int? bitdepth = null, int? effort = null, Enums.ForeignKeep? keep = null, double[] background = null, int? pageHeight = null)
{
var options = new VOption();
@@ -7629,7 +7677,7 @@ public void Pngsave(string filename, int? compression = null, bool? interlace =
options.AddIfPresent(nameof(dither), dither);
options.AddIfPresent(nameof(bitdepth), bitdepth);
options.AddIfPresent(nameof(effort), effort);
- options.AddIfPresent(nameof(strip), strip);
+ options.AddForeignKeep(keep);
options.AddIfPresent(nameof(background), background);
options.AddIfPresent("page_height", pageHeight);
@@ -7641,23 +7689,23 @@ public void Pngsave(string filename, int? compression = null, bool? interlace =
///
///
///
- /// byte[] buffer = in.PngsaveBuffer(compression: int, interlace: bool, profile: string, filter: Enums.ForeignPngFilter, palette: bool, q: int, dither: double, bitdepth: int, effort: int, strip: bool, background: double[], pageHeight: int);
+ /// byte[] buffer = in.PngsaveBuffer(compression: int, interlace: bool, profile: string, filter: Enums.ForeignPngFilter, palette: bool, q: int, dither: double, bitdepth: int, effort: int, keep: Enums.ForeignKeep, background: double[], pageHeight: int);
///
///
/// Compression factor.
/// Interlace image.
- /// ICC profile to embed.
+ /// Filename of ICC profile to embed.
/// libspng row filter flag(s).
/// Quantise to 8bpp palette.
/// Quantisation quality.
/// Amount of dithering.
/// Write as a 1, 2, 4, 8 or 16 bit image.
/// Quantisation CPU effort.
- /// Strip all metadata from image.
+ /// Which metadata to retain.
/// Background value.
/// Set page height for multipage save.
/// An array of bytes.
- public byte[] PngsaveBuffer(int? compression = null, bool? interlace = null, string profile = null, Enums.ForeignPngFilter? filter = null, bool? palette = null, int? q = null, double? dither = null, int? bitdepth = null, int? effort = null, bool? strip = null, double[] background = null, int? pageHeight = null)
+ public byte[] PngsaveBuffer(int? compression = null, bool? interlace = null, string profile = null, Enums.ForeignPngFilter? filter = null, bool? palette = null, int? q = null, double? dither = null, int? bitdepth = null, int? effort = null, Enums.ForeignKeep? keep = null, double[] background = null, int? pageHeight = null)
{
var options = new VOption();
@@ -7670,7 +7718,7 @@ public byte[] PngsaveBuffer(int? compression = null, bool? interlace = null, str
options.AddIfPresent(nameof(dither), dither);
options.AddIfPresent(nameof(bitdepth), bitdepth);
options.AddIfPresent(nameof(effort), effort);
- options.AddIfPresent(nameof(strip), strip);
+ options.AddForeignKeep(keep);
options.AddIfPresent(nameof(background), background);
options.AddIfPresent("page_height", pageHeight);
@@ -7682,23 +7730,23 @@ public byte[] PngsaveBuffer(int? compression = null, bool? interlace = null, str
///
///
///
- /// in.PngsaveTarget(target, compression: int, interlace: bool, profile: string, filter: Enums.ForeignPngFilter, palette: bool, q: int, dither: double, bitdepth: int, effort: int, strip: bool, background: double[], pageHeight: int);
+ /// in.PngsaveTarget(target, compression: int, interlace: bool, profile: string, filter: Enums.ForeignPngFilter, palette: bool, q: int, dither: double, bitdepth: int, effort: int, keep: Enums.ForeignKeep, background: double[], pageHeight: int);
///
///
/// Target to save to.
/// Compression factor.
/// Interlace image.
- /// ICC profile to embed.
+ /// Filename of ICC profile to embed.
/// libspng row filter flag(s).
/// Quantise to 8bpp palette.
/// Quantisation quality.
/// Amount of dithering.
/// Write as a 1, 2, 4, 8 or 16 bit image.
/// Quantisation CPU effort.
- /// Strip all metadata from image.
+ /// Which metadata to retain.
/// Background value.
/// Set page height for multipage save.
- public void PngsaveTarget(Target target, int? compression = null, bool? interlace = null, string profile = null, Enums.ForeignPngFilter? filter = null, bool? palette = null, int? q = null, double? dither = null, int? bitdepth = null, int? effort = null, bool? strip = null, double[] background = null, int? pageHeight = null)
+ public void PngsaveTarget(Target target, int? compression = null, bool? interlace = null, string profile = null, Enums.ForeignPngFilter? filter = null, bool? palette = null, int? q = null, double? dither = null, int? bitdepth = null, int? effort = null, Enums.ForeignKeep? keep = null, double[] background = null, int? pageHeight = null)
{
var options = new VOption();
@@ -7711,7 +7759,7 @@ public void PngsaveTarget(Target target, int? compression = null, bool? interlac
options.AddIfPresent(nameof(dither), dither);
options.AddIfPresent(nameof(bitdepth), bitdepth);
options.AddIfPresent(nameof(effort), effort);
- options.AddIfPresent(nameof(strip), strip);
+ options.AddForeignKeep(keep);
options.AddIfPresent(nameof(background), background);
options.AddIfPresent("page_height", pageHeight);
@@ -7723,26 +7771,26 @@ public void PngsaveTarget(Target target, int? compression = null, bool? interlac
///
///
///
- /// in.PngsaveStream(stream, compression: int, interlace: bool, profile: string, filter: Enums.ForeignPngFilter, palette: bool, q: int, dither: double, bitdepth: int, effort: int, strip: bool, background: double[], pageHeight: int);
+ /// in.PngsaveStream(stream, compression: int, interlace: bool, profile: string, filter: Enums.ForeignPngFilter, palette: bool, q: int, dither: double, bitdepth: int, effort: int, keep: Enums.ForeignKeep, background: double[], pageHeight: int);
///
///
/// Stream to save to.
/// Compression factor.
/// Interlace image.
- /// ICC profile to embed.
+ /// Filename of ICC profile to embed.
/// libspng row filter flag(s).
/// Quantise to 8bpp palette.
/// Quantisation quality.
/// Amount of dithering.
/// Write as a 1, 2, 4, 8 or 16 bit image.
/// Quantisation CPU effort.
- /// Strip all metadata from image.
+ /// Which metadata to retain.
/// Background value.
/// Set page height for multipage save.
- public void PngsaveStream(Stream stream, int? compression = null, bool? interlace = null, string profile = null, Enums.ForeignPngFilter? filter = null, bool? palette = null, int? q = null, double? dither = null, int? bitdepth = null, int? effort = null, bool? strip = null, double[] background = null, int? pageHeight = null)
+ public void PngsaveStream(Stream stream, int? compression = null, bool? interlace = null, string profile = null, Enums.ForeignPngFilter? filter = null, bool? palette = null, int? q = null, double? dither = null, int? bitdepth = null, int? effort = null, Enums.ForeignKeep? keep = null, double[] background = null, int? pageHeight = null)
{
using var target = TargetStream.NewFromStream(stream);
- PngsaveTarget(target, compression, interlace, profile, filter, palette, q, dither, bitdepth, effort, strip, background, pageHeight);
+ PngsaveTarget(target, compression, interlace, profile, filter, palette, q, dither, bitdepth, effort, keep, background, pageHeight);
}
///
@@ -7919,24 +7967,26 @@ public static Image PpmloadStream(Stream stream, out Enums.ForeignFlags flags, b
///
///
///
- /// in.Ppmsave(filename, format: Enums.ForeignPpmFormat, ascii: bool, bitdepth: int, strip: bool, background: double[], pageHeight: int);
+ /// in.Ppmsave(filename, format: Enums.ForeignPpmFormat, ascii: bool, profile: string, bitdepth: int, keep: Enums.ForeignKeep, background: double[], pageHeight: int);
///
///
/// Filename to save to.
/// Format to save in.
/// Save as ascii.
+ /// Filename of ICC profile to embed.
/// Set to 1 to write as a 1 bit image.
- /// Strip all metadata from image.
+ /// Which metadata to retain.
/// Background value.
/// Set page height for multipage save.
- public void Ppmsave(string filename, Enums.ForeignPpmFormat? format = null, bool? ascii = null, int? bitdepth = null, bool? strip = null, double[] background = null, int? pageHeight = null)
+ public void Ppmsave(string filename, Enums.ForeignPpmFormat? format = null, bool? ascii = null, string profile = null, int? bitdepth = null, Enums.ForeignKeep? keep = null, double[] background = null, int? pageHeight = null)
{
var options = new VOption();
options.AddIfPresent(nameof(format), format);
options.AddIfPresent(nameof(ascii), ascii);
+ options.AddIfPresent(nameof(profile), profile);
options.AddIfPresent(nameof(bitdepth), bitdepth);
- options.AddIfPresent(nameof(strip), strip);
+ options.AddForeignKeep(keep);
options.AddIfPresent(nameof(background), background);
options.AddIfPresent("page_height", pageHeight);
@@ -7948,24 +7998,26 @@ public void Ppmsave(string filename, Enums.ForeignPpmFormat? format = null, bool
///
///
///
- /// in.PpmsaveTarget(target, format: Enums.ForeignPpmFormat, ascii: bool, bitdepth: int, strip: bool, background: double[], pageHeight: int);
+ /// in.PpmsaveTarget(target, format: Enums.ForeignPpmFormat, ascii: bool, profile: string, bitdepth: int, keep: Enums.ForeignKeep, background: double[], pageHeight: int);
///
///
/// Target to save to.
/// Format to save in.
/// Save as ascii.
+ /// Filename of ICC profile to embed.
/// Set to 1 to write as a 1 bit image.
- /// Strip all metadata from image.
+ /// Which metadata to retain.
/// Background value.
/// Set page height for multipage save.
- public void PpmsaveTarget(Target target, Enums.ForeignPpmFormat? format = null, bool? ascii = null, int? bitdepth = null, bool? strip = null, double[] background = null, int? pageHeight = null)
+ public void PpmsaveTarget(Target target, Enums.ForeignPpmFormat? format = null, bool? ascii = null, string profile = null, int? bitdepth = null, Enums.ForeignKeep? keep = null, double[] background = null, int? pageHeight = null)
{
var options = new VOption();
options.AddIfPresent(nameof(format), format);
options.AddIfPresent(nameof(ascii), ascii);
+ options.AddIfPresent(nameof(profile), profile);
options.AddIfPresent(nameof(bitdepth), bitdepth);
- options.AddIfPresent(nameof(strip), strip);
+ options.AddForeignKeep(keep);
options.AddIfPresent(nameof(background), background);
options.AddIfPresent("page_height", pageHeight);
@@ -7977,20 +8029,21 @@ public void PpmsaveTarget(Target target, Enums.ForeignPpmFormat? format = null,
///
///
///
- /// in.PpmsaveStream(stream, format: Enums.ForeignPpmFormat, ascii: bool, bitdepth: int, strip: bool, background: double[], pageHeight: int);
+ /// in.PpmsaveStream(stream, format: Enums.ForeignPpmFormat, ascii: bool, profile: string, bitdepth: int, keep: Enums.ForeignKeep, background: double[], pageHeight: int);
///
///
/// Stream to save to.
/// Format to save in.
/// Save as ascii.
+ /// Filename of ICC profile to embed.
/// Set to 1 to write as a 1 bit image.
- /// Strip all metadata from image.
+ /// Which metadata to retain.
/// Background value.
/// Set page height for multipage save.
- public void PpmsaveStream(Stream stream, Enums.ForeignPpmFormat? format = null, bool? ascii = null, int? bitdepth = null, bool? strip = null, double[] background = null, int? pageHeight = null)
+ public void PpmsaveStream(Stream stream, Enums.ForeignPpmFormat? format = null, bool? ascii = null, string profile = null, int? bitdepth = null, Enums.ForeignKeep? keep = null, double[] background = null, int? pageHeight = null)
{
using var target = TargetStream.NewFromStream(stream);
- PpmsaveTarget(target, format, ascii, bitdepth, strip, background, pageHeight);
+ PpmsaveTarget(target, format, ascii, profile, bitdepth, keep, background, pageHeight);
}
///
@@ -8337,18 +8390,20 @@ public static Image RadloadStream(Stream stream, out Enums.ForeignFlags flags, b
///
///
///
- /// in.Radsave(filename, strip: bool, background: double[], pageHeight: int);
+ /// in.Radsave(filename, profile: string, keep: Enums.ForeignKeep, background: double[], pageHeight: int);
///
///
/// Filename to save to.
- /// Strip all metadata from image.
+ /// Filename of ICC profile to embed.
+ /// Which metadata to retain.
/// Background value.
/// Set page height for multipage save.
- public void Radsave(string filename, bool? strip = null, double[] background = null, int? pageHeight = null)
+ public void Radsave(string filename, string profile = null, Enums.ForeignKeep? keep = null, double[] background = null, int? pageHeight = null)
{
var options = new VOption();
- options.AddIfPresent(nameof(strip), strip);
+ options.AddIfPresent(nameof(profile), profile);
+ options.AddForeignKeep(keep);
options.AddIfPresent(nameof(background), background);
options.AddIfPresent("page_height", pageHeight);
@@ -8360,18 +8415,20 @@ public void Radsave(string filename, bool? strip = null, double[] background = n
///
///
///
- /// byte[] buffer = in.RadsaveBuffer(strip: bool, background: double[], pageHeight: int);
+ /// byte[] buffer = in.RadsaveBuffer(profile: string, keep: Enums.ForeignKeep, background: double[], pageHeight: int);
///
///
- /// Strip all metadata from image.
+ /// Filename of ICC profile to embed.
+ /// Which metadata to retain.
/// Background value.
/// Set page height for multipage save.
/// An array of bytes.
- public byte[] RadsaveBuffer(bool? strip = null, double[] background = null, int? pageHeight = null)
+ public byte[] RadsaveBuffer(string profile = null, Enums.ForeignKeep? keep = null, double[] background = null, int? pageHeight = null)
{
var options = new VOption();
- options.AddIfPresent(nameof(strip), strip);
+ options.AddIfPresent(nameof(profile), profile);
+ options.AddForeignKeep(keep);
options.AddIfPresent(nameof(background), background);
options.AddIfPresent("page_height", pageHeight);
@@ -8383,18 +8440,20 @@ public byte[] RadsaveBuffer(bool? strip = null, double[] background = null, int?
///
///
///
- /// in.RadsaveTarget(target, strip: bool, background: double[], pageHeight: int);
+ /// in.RadsaveTarget(target, profile: string, keep: Enums.ForeignKeep, background: double[], pageHeight: int);
///
///
/// Target to save to.
- /// Strip all metadata from image.
+ /// Filename of ICC profile to embed.
+ /// Which metadata to retain.
/// Background value.
/// Set page height for multipage save.
- public void RadsaveTarget(Target target, bool? strip = null, double[] background = null, int? pageHeight = null)
+ public void RadsaveTarget(Target target, string profile = null, Enums.ForeignKeep? keep = null, double[] background = null, int? pageHeight = null)
{
var options = new VOption();
- options.AddIfPresent(nameof(strip), strip);
+ options.AddIfPresent(nameof(profile), profile);
+ options.AddForeignKeep(keep);
options.AddIfPresent(nameof(background), background);
options.AddIfPresent("page_height", pageHeight);
@@ -8406,17 +8465,18 @@ public void RadsaveTarget(Target target, bool? strip = null, double[] background
///
///
///
- /// in.RadsaveStream(stream, strip: bool, background: double[], pageHeight: int);
+ /// in.RadsaveStream(stream, profile: string, keep: Enums.ForeignKeep, background: double[], pageHeight: int);
///
///
/// Stream to save to.
- /// Strip all metadata from image.
+ /// Filename of ICC profile to embed.
+ /// Which metadata to retain.
/// Background value.
/// Set page height for multipage save.
- public void RadsaveStream(Stream stream, bool? strip = null, double[] background = null, int? pageHeight = null)
+ public void RadsaveStream(Stream stream, string profile = null, Enums.ForeignKeep? keep = null, double[] background = null, int? pageHeight = null)
{
using var target = TargetStream.NewFromStream(stream);
- RadsaveTarget(target, strip, background, pageHeight);
+ RadsaveTarget(target, profile, keep, background, pageHeight);
}
///
@@ -8519,18 +8579,20 @@ public static Image Rawload(string filename, int width, int height, int bands, o
///
///
///
- /// in.Rawsave(filename, strip: bool, background: double[], pageHeight: int);
+ /// in.Rawsave(filename, profile: string, keep: Enums.ForeignKeep, background: double[], pageHeight: int);
///
///
/// Filename to save to.
- /// Strip all metadata from image.
+ /// Filename of ICC profile to embed.
+ /// Which metadata to retain.
/// Background value.
/// Set page height for multipage save.
- public void Rawsave(string filename, bool? strip = null, double[] background = null, int? pageHeight = null)
+ public void Rawsave(string filename, string profile = null, Enums.ForeignKeep? keep = null, double[] background = null, int? pageHeight = null)
{
var options = new VOption();
- options.AddIfPresent(nameof(strip), strip);
+ options.AddIfPresent(nameof(profile), profile);
+ options.AddForeignKeep(keep);
options.AddIfPresent(nameof(background), background);
options.AddIfPresent("page_height", pageHeight);
@@ -8542,18 +8604,20 @@ public void Rawsave(string filename, bool? strip = null, double[] background = n
///
///
///
- /// in.RawsaveFd(fd, strip: bool, background: double[], pageHeight: int);
+ /// in.RawsaveFd(fd, profile: string, keep: Enums.ForeignKeep, background: double[], pageHeight: int);
///
///
/// File descriptor to write to.
- /// Strip all metadata from image.
+ /// Filename of ICC profile to embed.
+ /// Which metadata to retain.
/// Background value.
/// Set page height for multipage save.
- public void RawsaveFd(int fd, bool? strip = null, double[] background = null, int? pageHeight = null)
+ public void RawsaveFd(int fd, string profile = null, Enums.ForeignKeep? keep = null, double[] background = null, int? pageHeight = null)
{
var options = new VOption();
- options.AddIfPresent(nameof(strip), strip);
+ options.AddIfPresent(nameof(profile), profile);
+ options.AddForeignKeep(keep);
options.AddIfPresent(nameof(background), background);
options.AddIfPresent("page_height", pageHeight);
@@ -10247,16 +10311,16 @@ public static Image TiffloadStream(Stream stream, out Enums.ForeignFlags flags,
///
///
///
- /// in.Tiffsave(filename, compression: Enums.ForeignTiffCompression, q: int, predictor: Enums.ForeignTiffPredictor, profile: string, tile: bool, tileWidth: int, tileHeight: int, pyramid: bool, miniswhite: bool, bitdepth: int, resunit: Enums.ForeignTiffResunit, xres: double, yres: double, bigtiff: bool, properties: bool, regionShrink: Enums.RegionShrink, level: int, lossless: bool, depth: Enums.ForeignDzDepth, subifd: bool, premultiply: bool, strip: bool, background: double[], pageHeight: int);
+ /// in.Tiffsave(filename, compression: Enums.ForeignTiffCompression, q: int, predictor: Enums.ForeignTiffPredictor, tile: bool, tileWidth: int, profile: string, tileHeight: int, pyramid: bool, miniswhite: bool, bitdepth: int, resunit: Enums.ForeignTiffResunit, xres: double, yres: double, bigtiff: bool, properties: bool, regionShrink: Enums.RegionShrink, level: int, lossless: bool, depth: Enums.ForeignDzDepth, subifd: bool, premultiply: bool, keep: Enums.ForeignKeep, background: double[], pageHeight: int);
///
///
/// Filename to save to.
/// Compression for this file.
/// Q factor.
/// Compression prediction.
- /// ICC profile to embed.
/// Write a tiled tiff.
/// Tile width in pixels.
+ /// Filename of ICC profile to embed.
/// Tile height in pixels.
/// Write a pyramidal tiff.
/// Use 0 for white in 1-bit images.
@@ -10272,19 +10336,19 @@ public static Image TiffloadStream(Stream stream, out Enums.ForeignFlags flags,
/// Pyramid depth.
/// Save pyr layers as sub-IFDs.
/// Save with premultiplied alpha.
- /// Strip all metadata from image.
+ /// Which metadata to retain.
/// Background value.
/// Set page height for multipage save.
- public void Tiffsave(string filename, Enums.ForeignTiffCompression? compression = null, int? q = null, Enums.ForeignTiffPredictor? predictor = null, string profile = null, bool? tile = null, int? tileWidth = null, int? tileHeight = null, bool? pyramid = null, bool? miniswhite = null, int? bitdepth = null, Enums.ForeignTiffResunit? resunit = null, double? xres = null, double? yres = null, bool? bigtiff = null, bool? properties = null, Enums.RegionShrink? regionShrink = null, int? level = null, bool? lossless = null, Enums.ForeignDzDepth? depth = null, bool? subifd = null, bool? premultiply = null, bool? strip = null, double[] background = null, int? pageHeight = null)
+ public void Tiffsave(string filename, Enums.ForeignTiffCompression? compression = null, int? q = null, Enums.ForeignTiffPredictor? predictor = null, bool? tile = null, int? tileWidth = null, string profile = null, int? tileHeight = null, bool? pyramid = null, bool? miniswhite = null, int? bitdepth = null, Enums.ForeignTiffResunit? resunit = null, double? xres = null, double? yres = null, bool? bigtiff = null, bool? properties = null, Enums.RegionShrink? regionShrink = null, int? level = null, bool? lossless = null, Enums.ForeignDzDepth? depth = null, bool? subifd = null, bool? premultiply = null, Enums.ForeignKeep? keep = null, double[] background = null, int? pageHeight = null)
{
var options = new VOption();
options.AddIfPresent(nameof(compression), compression);
options.AddIfPresent("Q", q);
options.AddIfPresent(nameof(predictor), predictor);
- options.AddIfPresent(nameof(profile), profile);
options.AddIfPresent(nameof(tile), tile);
options.AddIfPresent("tile_width", tileWidth);
+ options.AddIfPresent(nameof(profile), profile);
options.AddIfPresent("tile_height", tileHeight);
options.AddIfPresent(nameof(pyramid), pyramid);
options.AddIfPresent(nameof(miniswhite), miniswhite);
@@ -10300,7 +10364,7 @@ public void Tiffsave(string filename, Enums.ForeignTiffCompression? compression
options.AddIfPresent(nameof(depth), depth);
options.AddIfPresent(nameof(subifd), subifd);
options.AddIfPresent(nameof(premultiply), premultiply);
- options.AddIfPresent(nameof(strip), strip);
+ options.AddForeignKeep(keep);
options.AddIfPresent(nameof(background), background);
options.AddIfPresent("page_height", pageHeight);
@@ -10312,15 +10376,15 @@ public void Tiffsave(string filename, Enums.ForeignTiffCompression? compression
///
///
///
- /// byte[] buffer = in.TiffsaveBuffer(compression: Enums.ForeignTiffCompression, q: int, predictor: Enums.ForeignTiffPredictor, profile: string, tile: bool, tileWidth: int, tileHeight: int, pyramid: bool, miniswhite: bool, bitdepth: int, resunit: Enums.ForeignTiffResunit, xres: double, yres: double, bigtiff: bool, properties: bool, regionShrink: Enums.RegionShrink, level: int, lossless: bool, depth: Enums.ForeignDzDepth, subifd: bool, premultiply: bool, strip: bool, background: double[], pageHeight: int);
+ /// byte[] buffer = in.TiffsaveBuffer(compression: Enums.ForeignTiffCompression, q: int, predictor: Enums.ForeignTiffPredictor, tile: bool, tileWidth: int, profile: string, tileHeight: int, pyramid: bool, miniswhite: bool, bitdepth: int, resunit: Enums.ForeignTiffResunit, xres: double, yres: double, bigtiff: bool, properties: bool, regionShrink: Enums.RegionShrink, level: int, lossless: bool, depth: Enums.ForeignDzDepth, subifd: bool, premultiply: bool, keep: Enums.ForeignKeep, background: double[], pageHeight: int);
///
///
/// Compression for this file.
/// Q factor.
/// Compression prediction.
- /// ICC profile to embed.
/// Write a tiled tiff.
/// Tile width in pixels.
+ /// Filename of ICC profile to embed.
/// Tile height in pixels.
/// Write a pyramidal tiff.
/// Use 0 for white in 1-bit images.
@@ -10336,20 +10400,20 @@ public void Tiffsave(string filename, Enums.ForeignTiffCompression? compression
/// Pyramid depth.
/// Save pyr layers as sub-IFDs.
/// Save with premultiplied alpha.
- /// Strip all metadata from image.
+ /// Which metadata to retain.
/// Background value.
/// Set page height for multipage save.
/// An array of bytes.
- public byte[] TiffsaveBuffer(Enums.ForeignTiffCompression? compression = null, int? q = null, Enums.ForeignTiffPredictor? predictor = null, string profile = null, bool? tile = null, int? tileWidth = null, int? tileHeight = null, bool? pyramid = null, bool? miniswhite = null, int? bitdepth = null, Enums.ForeignTiffResunit? resunit = null, double? xres = null, double? yres = null, bool? bigtiff = null, bool? properties = null, Enums.RegionShrink? regionShrink = null, int? level = null, bool? lossless = null, Enums.ForeignDzDepth? depth = null, bool? subifd = null, bool? premultiply = null, bool? strip = null, double[] background = null, int? pageHeight = null)
+ public byte[] TiffsaveBuffer(Enums.ForeignTiffCompression? compression = null, int? q = null, Enums.ForeignTiffPredictor? predictor = null, bool? tile = null, int? tileWidth = null, string profile = null, int? tileHeight = null, bool? pyramid = null, bool? miniswhite = null, int? bitdepth = null, Enums.ForeignTiffResunit? resunit = null, double? xres = null, double? yres = null, bool? bigtiff = null, bool? properties = null, Enums.RegionShrink? regionShrink = null, int? level = null, bool? lossless = null, Enums.ForeignDzDepth? depth = null, bool? subifd = null, bool? premultiply = null, Enums.ForeignKeep? keep = null, double[] background = null, int? pageHeight = null)
{
var options = new VOption();
options.AddIfPresent(nameof(compression), compression);
options.AddIfPresent("Q", q);
options.AddIfPresent(nameof(predictor), predictor);
- options.AddIfPresent(nameof(profile), profile);
options.AddIfPresent(nameof(tile), tile);
options.AddIfPresent("tile_width", tileWidth);
+ options.AddIfPresent(nameof(profile), profile);
options.AddIfPresent("tile_height", tileHeight);
options.AddIfPresent(nameof(pyramid), pyramid);
options.AddIfPresent(nameof(miniswhite), miniswhite);
@@ -10365,7 +10429,7 @@ public byte[] TiffsaveBuffer(Enums.ForeignTiffCompression? compression = null, i
options.AddIfPresent(nameof(depth), depth);
options.AddIfPresent(nameof(subifd), subifd);
options.AddIfPresent(nameof(premultiply), premultiply);
- options.AddIfPresent(nameof(strip), strip);
+ options.AddForeignKeep(keep);
options.AddIfPresent(nameof(background), background);
options.AddIfPresent("page_height", pageHeight);
@@ -10377,16 +10441,16 @@ public byte[] TiffsaveBuffer(Enums.ForeignTiffCompression? compression = null, i
///
///
///
- /// in.TiffsaveTarget(target, compression: Enums.ForeignTiffCompression, q: int, predictor: Enums.ForeignTiffPredictor, profile: string, tile: bool, tileWidth: int, tileHeight: int, pyramid: bool, miniswhite: bool, bitdepth: int, resunit: Enums.ForeignTiffResunit, xres: double, yres: double, bigtiff: bool, properties: bool, regionShrink: Enums.RegionShrink, level: int, lossless: bool, depth: Enums.ForeignDzDepth, subifd: bool, premultiply: bool, strip: bool, background: double[], pageHeight: int);
+ /// in.TiffsaveTarget(target, compression: Enums.ForeignTiffCompression, q: int, predictor: Enums.ForeignTiffPredictor, tile: bool, tileWidth: int, profile: string, tileHeight: int, pyramid: bool, miniswhite: bool, bitdepth: int, resunit: Enums.ForeignTiffResunit, xres: double, yres: double, bigtiff: bool, properties: bool, regionShrink: Enums.RegionShrink, level: int, lossless: bool, depth: Enums.ForeignDzDepth, subifd: bool, premultiply: bool, keep: Enums.ForeignKeep, background: double[], pageHeight: int);
///
///
/// Target to save to.
/// Compression for this file.
/// Q factor.
/// Compression prediction.
- /// ICC profile to embed.
/// Write a tiled tiff.
/// Tile width in pixels.
+ /// Filename of ICC profile to embed.
/// Tile height in pixels.
/// Write a pyramidal tiff.
/// Use 0 for white in 1-bit images.
@@ -10402,19 +10466,19 @@ public byte[] TiffsaveBuffer(Enums.ForeignTiffCompression? compression = null, i
/// Pyramid depth.
/// Save pyr layers as sub-IFDs.
/// Save with premultiplied alpha.
- /// Strip all metadata from image.
+ /// Which metadata to retain.
/// Background value.
/// Set page height for multipage save.
- public void TiffsaveTarget(Target target, Enums.ForeignTiffCompression? compression = null, int? q = null, Enums.ForeignTiffPredictor? predictor = null, string profile = null, bool? tile = null, int? tileWidth = null, int? tileHeight = null, bool? pyramid = null, bool? miniswhite = null, int? bitdepth = null, Enums.ForeignTiffResunit? resunit = null, double? xres = null, double? yres = null, bool? bigtiff = null, bool? properties = null, Enums.RegionShrink? regionShrink = null, int? level = null, bool? lossless = null, Enums.ForeignDzDepth? depth = null, bool? subifd = null, bool? premultiply = null, bool? strip = null, double[] background = null, int? pageHeight = null)
+ public void TiffsaveTarget(Target target, Enums.ForeignTiffCompression? compression = null, int? q = null, Enums.ForeignTiffPredictor? predictor = null, bool? tile = null, int? tileWidth = null, string profile = null, int? tileHeight = null, bool? pyramid = null, bool? miniswhite = null, int? bitdepth = null, Enums.ForeignTiffResunit? resunit = null, double? xres = null, double? yres = null, bool? bigtiff = null, bool? properties = null, Enums.RegionShrink? regionShrink = null, int? level = null, bool? lossless = null, Enums.ForeignDzDepth? depth = null, bool? subifd = null, bool? premultiply = null, Enums.ForeignKeep? keep = null, double[] background = null, int? pageHeight = null)
{
var options = new VOption();
options.AddIfPresent(nameof(compression), compression);
options.AddIfPresent("Q", q);
options.AddIfPresent(nameof(predictor), predictor);
- options.AddIfPresent(nameof(profile), profile);
options.AddIfPresent(nameof(tile), tile);
options.AddIfPresent("tile_width", tileWidth);
+ options.AddIfPresent(nameof(profile), profile);
options.AddIfPresent("tile_height", tileHeight);
options.AddIfPresent(nameof(pyramid), pyramid);
options.AddIfPresent(nameof(miniswhite), miniswhite);
@@ -10430,7 +10494,7 @@ public void TiffsaveTarget(Target target, Enums.ForeignTiffCompression? compress
options.AddIfPresent(nameof(depth), depth);
options.AddIfPresent(nameof(subifd), subifd);
options.AddIfPresent(nameof(premultiply), premultiply);
- options.AddIfPresent(nameof(strip), strip);
+ options.AddForeignKeep(keep);
options.AddIfPresent(nameof(background), background);
options.AddIfPresent("page_height", pageHeight);
@@ -10442,16 +10506,16 @@ public void TiffsaveTarget(Target target, Enums.ForeignTiffCompression? compress
///
///
///
- /// in.TiffsaveStream(stream, compression: Enums.ForeignTiffCompression, q: int, predictor: Enums.ForeignTiffPredictor, profile: string, tile: bool, tileWidth: int, tileHeight: int, pyramid: bool, miniswhite: bool, bitdepth: int, resunit: Enums.ForeignTiffResunit, xres: double, yres: double, bigtiff: bool, properties: bool, regionShrink: Enums.RegionShrink, level: int, lossless: bool, depth: Enums.ForeignDzDepth, subifd: bool, premultiply: bool, strip: bool, background: double[], pageHeight: int);
+ /// in.TiffsaveStream(stream, compression: Enums.ForeignTiffCompression, q: int, predictor: Enums.ForeignTiffPredictor, tile: bool, tileWidth: int, profile: string, tileHeight: int, pyramid: bool, miniswhite: bool, bitdepth: int, resunit: Enums.ForeignTiffResunit, xres: double, yres: double, bigtiff: bool, properties: bool, regionShrink: Enums.RegionShrink, level: int, lossless: bool, depth: Enums.ForeignDzDepth, subifd: bool, premultiply: bool, keep: Enums.ForeignKeep, background: double[], pageHeight: int);
///
///
/// Stream to save to.
/// Compression for this file.
/// Q factor.
/// Compression prediction.
- /// ICC profile to embed.
/// Write a tiled tiff.
/// Tile width in pixels.
+ /// Filename of ICC profile to embed.
/// Tile height in pixels.
/// Write a pyramidal tiff.
/// Use 0 for white in 1-bit images.
@@ -10467,13 +10531,13 @@ public void TiffsaveTarget(Target target, Enums.ForeignTiffCompression? compress
/// Pyramid depth.
/// Save pyr layers as sub-IFDs.
/// Save with premultiplied alpha.
- /// Strip all metadata from image.
+ /// Which metadata to retain.
/// Background value.
/// Set page height for multipage save.
- public void TiffsaveStream(Stream stream, Enums.ForeignTiffCompression? compression = null, int? q = null, Enums.ForeignTiffPredictor? predictor = null, string profile = null, bool? tile = null, int? tileWidth = null, int? tileHeight = null, bool? pyramid = null, bool? miniswhite = null, int? bitdepth = null, Enums.ForeignTiffResunit? resunit = null, double? xres = null, double? yres = null, bool? bigtiff = null, bool? properties = null, Enums.RegionShrink? regionShrink = null, int? level = null, bool? lossless = null, Enums.ForeignDzDepth? depth = null, bool? subifd = null, bool? premultiply = null, bool? strip = null, double[] background = null, int? pageHeight = null)
+ public void TiffsaveStream(Stream stream, Enums.ForeignTiffCompression? compression = null, int? q = null, Enums.ForeignTiffPredictor? predictor = null, bool? tile = null, int? tileWidth = null, string profile = null, int? tileHeight = null, bool? pyramid = null, bool? miniswhite = null, int? bitdepth = null, Enums.ForeignTiffResunit? resunit = null, double? xres = null, double? yres = null, bool? bigtiff = null, bool? properties = null, Enums.RegionShrink? regionShrink = null, int? level = null, bool? lossless = null, Enums.ForeignDzDepth? depth = null, bool? subifd = null, bool? premultiply = null, Enums.ForeignKeep? keep = null, double[] background = null, int? pageHeight = null)
{
using var target = TargetStream.NewFromStream(stream);
- TiffsaveTarget(target, compression, q, predictor, profile, tile, tileWidth, tileHeight, pyramid, miniswhite, bitdepth, resunit, xres, yres, bigtiff, properties, regionShrink, level, lossless, depth, subifd, premultiply, strip, background, pageHeight);
+ TiffsaveTarget(target, compression, q, predictor, tile, tileWidth, profile, tileHeight, pyramid, miniswhite, bitdepth, resunit, xres, yres, bigtiff, properties, regionShrink, level, lossless, depth, subifd, premultiply, keep, background, pageHeight);
}
///
@@ -10756,18 +10820,20 @@ public static Image VipsloadStream(Stream stream, out Enums.ForeignFlags flags,
///
///
///
- /// in.Vipssave(filename, strip: bool, background: double[], pageHeight: int);
+ /// in.Vipssave(filename, profile: string, keep: Enums.ForeignKeep, background: double[], pageHeight: int);
///
///
/// Filename to save to.
- /// Strip all metadata from image.
+ /// Filename of ICC profile to embed.
+ /// Which metadata to retain.
/// Background value.
/// Set page height for multipage save.
- public void Vipssave(string filename, bool? strip = null, double[] background = null, int? pageHeight = null)
+ public void Vipssave(string filename, string profile = null, Enums.ForeignKeep? keep = null, double[] background = null, int? pageHeight = null)
{
var options = new VOption();
- options.AddIfPresent(nameof(strip), strip);
+ options.AddIfPresent(nameof(profile), profile);
+ options.AddForeignKeep(keep);
options.AddIfPresent(nameof(background), background);
options.AddIfPresent("page_height", pageHeight);
@@ -10779,18 +10845,20 @@ public void Vipssave(string filename, bool? strip = null, double[] background =
///
///
///
- /// in.VipssaveTarget(target, strip: bool, background: double[], pageHeight: int);
+ /// in.VipssaveTarget(target, profile: string, keep: Enums.ForeignKeep, background: double[], pageHeight: int);
///
///
/// Target to save to.
- /// Strip all metadata from image.
+ /// Filename of ICC profile to embed.
+ /// Which metadata to retain.
/// Background value.
/// Set page height for multipage save.
- public void VipssaveTarget(Target target, bool? strip = null, double[] background = null, int? pageHeight = null)
+ public void VipssaveTarget(Target target, string profile = null, Enums.ForeignKeep? keep = null, double[] background = null, int? pageHeight = null)
{
var options = new VOption();
- options.AddIfPresent(nameof(strip), strip);
+ options.AddIfPresent(nameof(profile), profile);
+ options.AddForeignKeep(keep);
options.AddIfPresent(nameof(background), background);
options.AddIfPresent("page_height", pageHeight);
@@ -10802,17 +10870,18 @@ public void VipssaveTarget(Target target, bool? strip = null, double[] backgroun
///
///
///
- /// in.VipssaveStream(stream, strip: bool, background: double[], pageHeight: int);
+ /// in.VipssaveStream(stream, profile: string, keep: Enums.ForeignKeep, background: double[], pageHeight: int);
///
///
/// Stream to save to.
- /// Strip all metadata from image.
+ /// Filename of ICC profile to embed.
+ /// Which metadata to retain.
/// Background value.
/// Set page height for multipage save.
- public void VipssaveStream(Stream stream, bool? strip = null, double[] background = null, int? pageHeight = null)
+ public void VipssaveStream(Stream stream, string profile = null, Enums.ForeignKeep? keep = null, double[] background = null, int? pageHeight = null)
{
using var target = TargetStream.NewFromStream(stream);
- VipssaveTarget(target, strip, background, pageHeight);
+ VipssaveTarget(target, profile, keep, background, pageHeight);
}
///
@@ -11091,12 +11160,13 @@ public static Image WebploadStream(Stream stream, out Enums.ForeignFlags flags,
///
///
///
- /// in.Webpsave(filename, q: int, lossless: bool, preset: Enums.ForeignWebpPreset, smartSubsample: bool, nearLossless: bool, alphaQ: int, minSize: bool, kmin: int, kmax: int, effort: int, profile: string, mixed: bool, strip: bool, background: double[], pageHeight: int);
+ /// in.Webpsave(filename, q: int, lossless: bool, profile: string, preset: Enums.ForeignWebpPreset, smartSubsample: bool, nearLossless: bool, alphaQ: int, minSize: bool, kmin: int, kmax: int, effort: int, mixed: bool, keep: Enums.ForeignKeep, background: double[], pageHeight: int);
///
///
/// Filename to save to.
/// Q factor.
/// Enable lossless compression.
+ /// Filename of ICC profile to embed.
/// Preset for lossy compression.
/// Enable high quality chroma subsampling.
/// Enable preprocessing in lossless mode (uses Q).
@@ -11105,17 +11175,17 @@ public static Image WebploadStream(Stream stream, out Enums.ForeignFlags flags,
/// Minimum number of frames between key frames.
/// Maximum number of frames between key frames.
/// Level of CPU effort to reduce file size.
- /// ICC profile to embed.
/// Allow mixed encoding (might reduce file size).
- /// Strip all metadata from image.
+ /// Which metadata to retain.
/// Background value.
/// Set page height for multipage save.
- public void Webpsave(string filename, int? q = null, bool? lossless = null, Enums.ForeignWebpPreset? preset = null, bool? smartSubsample = null, bool? nearLossless = null, int? alphaQ = null, bool? minSize = null, int? kmin = null, int? kmax = null, int? effort = null, string profile = null, bool? mixed = null, bool? strip = null, double[] background = null, int? pageHeight = null)
+ public void Webpsave(string filename, int? q = null, bool? lossless = null, string profile = null, Enums.ForeignWebpPreset? preset = null, bool? smartSubsample = null, bool? nearLossless = null, int? alphaQ = null, bool? minSize = null, int? kmin = null, int? kmax = null, int? effort = null, bool? mixed = null, Enums.ForeignKeep? keep = null, double[] background = null, int? pageHeight = null)
{
var options = new VOption();
options.AddIfPresent("Q", q);
options.AddIfPresent(nameof(lossless), lossless);
+ options.AddIfPresent(nameof(profile), profile);
options.AddIfPresent(nameof(preset), preset);
options.AddIfPresent("smart_subsample", smartSubsample);
options.AddIfPresent("near_lossless", nearLossless);
@@ -11124,9 +11194,8 @@ public void Webpsave(string filename, int? q = null, bool? lossless = null, Enum
options.AddIfPresent(nameof(kmin), kmin);
options.AddIfPresent(nameof(kmax), kmax);
options.AddIfPresent(nameof(effort), effort);
- options.AddIfPresent(nameof(profile), profile);
options.AddIfPresent(nameof(mixed), mixed);
- options.AddIfPresent(nameof(strip), strip);
+ options.AddForeignKeep(keep);
options.AddIfPresent(nameof(background), background);
options.AddIfPresent("page_height", pageHeight);
@@ -11138,11 +11207,12 @@ public void Webpsave(string filename, int? q = null, bool? lossless = null, Enum
///
///
///
- /// byte[] buffer = in.WebpsaveBuffer(q: int, lossless: bool, preset: Enums.ForeignWebpPreset, smartSubsample: bool, nearLossless: bool, alphaQ: int, minSize: bool, kmin: int, kmax: int, effort: int, profile: string, mixed: bool, strip: bool, background: double[], pageHeight: int);
+ /// byte[] buffer = in.WebpsaveBuffer(q: int, lossless: bool, profile: string, preset: Enums.ForeignWebpPreset, smartSubsample: bool, nearLossless: bool, alphaQ: int, minSize: bool, kmin: int, kmax: int, effort: int, mixed: bool, keep: Enums.ForeignKeep, background: double[], pageHeight: int);
///
///
/// Q factor.
/// Enable lossless compression.
+ /// Filename of ICC profile to embed.
/// Preset for lossy compression.
/// Enable high quality chroma subsampling.
/// Enable preprocessing in lossless mode (uses Q).
@@ -11151,18 +11221,18 @@ public void Webpsave(string filename, int? q = null, bool? lossless = null, Enum
/// Minimum number of frames between key frames.
/// Maximum number of frames between key frames.
/// Level of CPU effort to reduce file size.
- /// ICC profile to embed.
/// Allow mixed encoding (might reduce file size).
- /// Strip all metadata from image.
+ /// Which metadata to retain.
/// Background value.
/// Set page height for multipage save.
/// An array of bytes.
- public byte[] WebpsaveBuffer(int? q = null, bool? lossless = null, Enums.ForeignWebpPreset? preset = null, bool? smartSubsample = null, bool? nearLossless = null, int? alphaQ = null, bool? minSize = null, int? kmin = null, int? kmax = null, int? effort = null, string profile = null, bool? mixed = null, bool? strip = null, double[] background = null, int? pageHeight = null)
+ public byte[] WebpsaveBuffer(int? q = null, bool? lossless = null, string profile = null, Enums.ForeignWebpPreset? preset = null, bool? smartSubsample = null, bool? nearLossless = null, int? alphaQ = null, bool? minSize = null, int? kmin = null, int? kmax = null, int? effort = null, bool? mixed = null, Enums.ForeignKeep? keep = null, double[] background = null, int? pageHeight = null)
{
var options = new VOption();
options.AddIfPresent("Q", q);
options.AddIfPresent(nameof(lossless), lossless);
+ options.AddIfPresent(nameof(profile), profile);
options.AddIfPresent(nameof(preset), preset);
options.AddIfPresent("smart_subsample", smartSubsample);
options.AddIfPresent("near_lossless", nearLossless);
@@ -11171,9 +11241,8 @@ public byte[] WebpsaveBuffer(int? q = null, bool? lossless = null, Enums.Foreign
options.AddIfPresent(nameof(kmin), kmin);
options.AddIfPresent(nameof(kmax), kmax);
options.AddIfPresent(nameof(effort), effort);
- options.AddIfPresent(nameof(profile), profile);
options.AddIfPresent(nameof(mixed), mixed);
- options.AddIfPresent(nameof(strip), strip);
+ options.AddForeignKeep(keep);
options.AddIfPresent(nameof(background), background);
options.AddIfPresent("page_height", pageHeight);
@@ -11185,11 +11254,12 @@ public byte[] WebpsaveBuffer(int? q = null, bool? lossless = null, Enums.Foreign
///
///
///
- /// in.WebpsaveMime(q: int, lossless: bool, preset: Enums.ForeignWebpPreset, smartSubsample: bool, nearLossless: bool, alphaQ: int, minSize: bool, kmin: int, kmax: int, effort: int, profile: string, mixed: bool, strip: bool, background: double[], pageHeight: int);
+ /// in.WebpsaveMime(q: int, lossless: bool, profile: string, preset: Enums.ForeignWebpPreset, smartSubsample: bool, nearLossless: bool, alphaQ: int, minSize: bool, kmin: int, kmax: int, effort: int, mixed: bool, keep: Enums.ForeignKeep, background: double[], pageHeight: int);
///
///
/// Q factor.
/// Enable lossless compression.
+ /// Filename of ICC profile to embed.
/// Preset for lossy compression.
/// Enable high quality chroma subsampling.
/// Enable preprocessing in lossless mode (uses Q).
@@ -11198,17 +11268,17 @@ public byte[] WebpsaveBuffer(int? q = null, bool? lossless = null, Enums.Foreign
/// Minimum number of frames between key frames.
/// Maximum number of frames between key frames.
/// Level of CPU effort to reduce file size.
- /// ICC profile to embed.
/// Allow mixed encoding (might reduce file size).
- /// Strip all metadata from image.
+ /// Which metadata to retain.
/// Background value.
/// Set page height for multipage save.
- public void WebpsaveMime(int? q = null, bool? lossless = null, Enums.ForeignWebpPreset? preset = null, bool? smartSubsample = null, bool? nearLossless = null, int? alphaQ = null, bool? minSize = null, int? kmin = null, int? kmax = null, int? effort = null, string profile = null, bool? mixed = null, bool? strip = null, double[] background = null, int? pageHeight = null)
+ public void WebpsaveMime(int? q = null, bool? lossless = null, string profile = null, Enums.ForeignWebpPreset? preset = null, bool? smartSubsample = null, bool? nearLossless = null, int? alphaQ = null, bool? minSize = null, int? kmin = null, int? kmax = null, int? effort = null, bool? mixed = null, Enums.ForeignKeep? keep = null, double[] background = null, int? pageHeight = null)
{
var options = new VOption();
options.AddIfPresent("Q", q);
options.AddIfPresent(nameof(lossless), lossless);
+ options.AddIfPresent(nameof(profile), profile);
options.AddIfPresent(nameof(preset), preset);
options.AddIfPresent("smart_subsample", smartSubsample);
options.AddIfPresent("near_lossless", nearLossless);
@@ -11217,9 +11287,8 @@ public void WebpsaveMime(int? q = null, bool? lossless = null, Enums.ForeignWebp
options.AddIfPresent(nameof(kmin), kmin);
options.AddIfPresent(nameof(kmax), kmax);
options.AddIfPresent(nameof(effort), effort);
- options.AddIfPresent(nameof(profile), profile);
options.AddIfPresent(nameof(mixed), mixed);
- options.AddIfPresent(nameof(strip), strip);
+ options.AddForeignKeep(keep);
options.AddIfPresent(nameof(background), background);
options.AddIfPresent("page_height", pageHeight);
@@ -11231,12 +11300,13 @@ public void WebpsaveMime(int? q = null, bool? lossless = null, Enums.ForeignWebp
///
///
///
- /// in.WebpsaveTarget(target, q: int, lossless: bool, preset: Enums.ForeignWebpPreset, smartSubsample: bool, nearLossless: bool, alphaQ: int, minSize: bool, kmin: int, kmax: int, effort: int, profile: string, mixed: bool, strip: bool, background: double[], pageHeight: int);
+ /// in.WebpsaveTarget(target, q: int, lossless: bool, profile: string, preset: Enums.ForeignWebpPreset, smartSubsample: bool, nearLossless: bool, alphaQ: int, minSize: bool, kmin: int, kmax: int, effort: int, mixed: bool, keep: Enums.ForeignKeep, background: double[], pageHeight: int);
///
///
/// Target to save to.
/// Q factor.
/// Enable lossless compression.
+ /// Filename of ICC profile to embed.
/// Preset for lossy compression.
/// Enable high quality chroma subsampling.
/// Enable preprocessing in lossless mode (uses Q).
@@ -11245,17 +11315,17 @@ public void WebpsaveMime(int? q = null, bool? lossless = null, Enums.ForeignWebp
/// Minimum number of frames between key frames.
/// Maximum number of frames between key frames.
/// Level of CPU effort to reduce file size.
- /// ICC profile to embed.
/// Allow mixed encoding (might reduce file size).
- /// Strip all metadata from image.
+ /// Which metadata to retain.
/// Background value.
/// Set page height for multipage save.
- public void WebpsaveTarget(Target target, int? q = null, bool? lossless = null, Enums.ForeignWebpPreset? preset = null, bool? smartSubsample = null, bool? nearLossless = null, int? alphaQ = null, bool? minSize = null, int? kmin = null, int? kmax = null, int? effort = null, string profile = null, bool? mixed = null, bool? strip = null, double[] background = null, int? pageHeight = null)
+ public void WebpsaveTarget(Target target, int? q = null, bool? lossless = null, string profile = null, Enums.ForeignWebpPreset? preset = null, bool? smartSubsample = null, bool? nearLossless = null, int? alphaQ = null, bool? minSize = null, int? kmin = null, int? kmax = null, int? effort = null, bool? mixed = null, Enums.ForeignKeep? keep = null, double[] background = null, int? pageHeight = null)
{
var options = new VOption();
options.AddIfPresent("Q", q);
options.AddIfPresent(nameof(lossless), lossless);
+ options.AddIfPresent(nameof(profile), profile);
options.AddIfPresent(nameof(preset), preset);
options.AddIfPresent("smart_subsample", smartSubsample);
options.AddIfPresent("near_lossless", nearLossless);
@@ -11264,9 +11334,8 @@ public void WebpsaveTarget(Target target, int? q = null, bool? lossless = null,
options.AddIfPresent(nameof(kmin), kmin);
options.AddIfPresent(nameof(kmax), kmax);
options.AddIfPresent(nameof(effort), effort);
- options.AddIfPresent(nameof(profile), profile);
options.AddIfPresent(nameof(mixed), mixed);
- options.AddIfPresent(nameof(strip), strip);
+ options.AddForeignKeep(keep);
options.AddIfPresent(nameof(background), background);
options.AddIfPresent("page_height", pageHeight);
@@ -11278,12 +11347,13 @@ public void WebpsaveTarget(Target target, int? q = null, bool? lossless = null,
///
///
///
- /// in.WebpsaveStream(stream, q: int, lossless: bool, preset: Enums.ForeignWebpPreset, smartSubsample: bool, nearLossless: bool, alphaQ: int, minSize: bool, kmin: int, kmax: int, effort: int, profile: string, mixed: bool, strip: bool, background: double[], pageHeight: int);
+ /// in.WebpsaveStream(stream, q: int, lossless: bool, profile: string, preset: Enums.ForeignWebpPreset, smartSubsample: bool, nearLossless: bool, alphaQ: int, minSize: bool, kmin: int, kmax: int, effort: int, mixed: bool, keep: Enums.ForeignKeep, background: double[], pageHeight: int);
///
///
/// Stream to save to.
/// Q factor.
/// Enable lossless compression.
+ /// Filename of ICC profile to embed.
/// Preset for lossy compression.
/// Enable high quality chroma subsampling.
/// Enable preprocessing in lossless mode (uses Q).
@@ -11292,15 +11362,14 @@ public void WebpsaveTarget(Target target, int? q = null, bool? lossless = null,
/// Minimum number of frames between key frames.
/// Maximum number of frames between key frames.
/// Level of CPU effort to reduce file size.
- /// ICC profile to embed.
/// Allow mixed encoding (might reduce file size).
- /// Strip all metadata from image.
+ /// Which metadata to retain.
/// Background value.
/// Set page height for multipage save.
- public void WebpsaveStream(Stream stream, int? q = null, bool? lossless = null, Enums.ForeignWebpPreset? preset = null, bool? smartSubsample = null, bool? nearLossless = null, int? alphaQ = null, bool? minSize = null, int? kmin = null, int? kmax = null, int? effort = null, string profile = null, bool? mixed = null, bool? strip = null, double[] background = null, int? pageHeight = null)
+ public void WebpsaveStream(Stream stream, int? q = null, bool? lossless = null, string profile = null, Enums.ForeignWebpPreset? preset = null, bool? smartSubsample = null, bool? nearLossless = null, int? alphaQ = null, bool? minSize = null, int? kmin = null, int? kmax = null, int? effort = null, bool? mixed = null, Enums.ForeignKeep? keep = null, double[] background = null, int? pageHeight = null)
{
using var target = TargetStream.NewFromStream(stream);
- WebpsaveTarget(target, q, lossless, preset, smartSubsample, nearLossless, alphaQ, minSize, kmin, kmax, effort, profile, mixed, strip, background, pageHeight);
+ WebpsaveTarget(target, q, lossless, profile, preset, smartSubsample, nearLossless, alphaQ, minSize, kmin, kmax, effort, mixed, keep, background, pageHeight);
}
///
diff --git "a/tests/NetVips.Tests/images/\320\271\321\206\321\203\320\272.jpg" "b/tests/NetVips.Tests/images/\320\271\321\206\321\203\320\272.jpg"
index 4ae2ad73..065262a4 100644
Binary files "a/tests/NetVips.Tests/images/\320\271\321\206\321\203\320\272.jpg" and "b/tests/NetVips.Tests/images/\320\271\321\206\321\203\320\272.jpg" differ