Table of Contents

Class WebPWriteDefines

Namespace
ImageMagick.Formats
Assembly
Magick.NET-Q8-AnyCPU.dll

Class for defines that are used when a ImageMagick.MagickFormat.WebP image is written.

public sealed class WebPWriteDefines : IWriteDefines, IDefines
Inheritance
WebPWriteDefines
Implements
IWriteDefines
IDefines
Inherited Members

Constructors

WebPWriteDefines()

public WebPWriteDefines()

Properties

AlphaCompression

Gets or sets the encoding of the alpha plane (webp:alpha-compression).

public WebPAlphaCompression? AlphaCompression { get; set; }

Property Value

WebPAlphaCompression?

AlphaFiltering

Gets or sets the predictive filtering method for the alpha plane (webp:alpha-filtering).

public WebPAlphaFiltering? AlphaFiltering { get; set; }

Property Value

WebPAlphaFiltering?

AlphaQuality

Gets or sets the compression value for alpha compression between 0 and 100. Lossless compression of alpha is achieved using a value of 100, while the lower values result in a lossy compression (webp:alpha-quality).

public int? AlphaQuality { get; set; }

Property Value

int?

AutoFilter

Gets or sets a value indicating whether the algorithm should spend additional time optimizing the filtering strength to reach a well-balanced quality (webp:auto-filter).

public bool? AutoFilter { get; set; }

Property Value

bool?

Defines

Gets the defines that should be set as a define on an image.

public IEnumerable<IDefine> Defines { get; }

Property Value

IEnumerable<IDefine>

EmulateJpegSize

Gets or sets a value indicating whether a similar compression to that of JPEG but with less degradation should be used. (webp:emulate-jpeg-size).

public bool? EmulateJpegSize { get; set; }

Property Value

bool?

Exact

Gets or sets a value indicating whether RGB values should be preserved in transparent area. It's disabled by default to help compressibility.

public bool? Exact { get; set; }

Property Value

bool?

FilterSharpness

Gets or sets strength of the filter sharpness, between 0 and 7 (least sharp) (webp:filter-sharpness).

public int? FilterSharpness { get; set; }

Property Value

int?

FilterStrength

Gets or sets strength of the deblocking filter, between 0 (no filtering) and 100 (maximum filtering). A value of 0 turns off any filtering. Higher values increase the strength of the filtering process applied after decoding the image. The higher the value, the smoother the image appears. Typical values are usually in the range of 20 to 50 (webp:filter-strength).

public int? FilterStrength { get; set; }

Property Value

int?

FilterType

Gets or sets the filter type. (webp:filter-type).

public WebPFilterType? FilterType { get; set; }

Property Value

WebPFilterType?

Format

Gets the format where the defines are for.

public MagickFormat Format { get; }

Property Value

MagickFormat

ImageHint

Gets or sets the hint about the image type. (webp:image-hint).

public WebPImageHint? ImageHint { get; set; }

Property Value

WebPImageHint?

Lossless

Gets or sets a value indicating whether the image should be encoded without any loss (webp:lossless).

public bool? Lossless { get; set; }

Property Value

bool?

LowMemory

Gets or sets a value indicating whether the memory usage should be reduced (webp:low-memory).

public bool? LowMemory { get; set; }

Property Value

bool?

Method

Gets or sets the compression method to use. It controls the trade off between encoding speed and the compressed file size and quality. Possible values range from 0 to 6. Default value is 4. When higher values are utilized, the encoder spends more time inspecting additional encoding possibilities and decide on the quality gain. Lower value might result in faster processing time at the expense of larger file size and lower compression quality (webp:method).

public int? Method { get; set; }

Property Value

int?

NearLossless

Gets or sets the near lossless encoding, between 0 (max-loss) and 100 (off) (webp:near-lossless).

[Obsolete("This property will be removed in the next major release, this was removed from ImageMagick.")]
public int? NearLossless { get; set; }

Property Value

int?

PartitionLimit

Gets or sets the partition limit. Choose 0 for no quality degradation and 100 for maximum degradation (webp:partition-limit).

public int? PartitionLimit { get; set; }

Property Value

int?

Partitions

Gets or sets progressive decoding: choose 0 to 3 (webp:partitions).

public int? Partitions { get; set; }

Property Value

int?

Pass

Gets or sets the maximum number of passes to target compression size or PSNR (webp:pass).

public int? Pass { get; set; }

Property Value

int?

Preprocessing

Gets or sets the preprocessing filter (webp:preprocessing).

public WebPPreprocessing? Preprocessing { get; set; }

Property Value

WebPPreprocessing?

Segment

Gets or sets the maximum number of segments to use, choose from 1 to 4 (webp:segment).

public int? Segment { get; set; }

Property Value

int?

ShowCompressed

Gets or sets a value indicating whether the compressed picture should be exported back (webp:show-compressed).

public bool? ShowCompressed { get; set; }

Property Value

bool?

SnsStrength

Gets or sets he amplitude of the spatial noise shaping. Spatial noise shaping (SNS) refers to a general collection of built-in algorithms used to decide which area of the picture should use relatively less bits, and where else to better transfer these bits. The possible range goes from 0 (algorithm is off) to 100 (the maximal effect). The default value is 80 (webp:sns-strength).

public int? SnsStrength { get; set; }

Property Value

int?

TargetPsnr

Gets or sets the desired minimal distortion (webp:target-psnr).

public double? TargetPsnr { get; set; }

Property Value

double?

TargetSize

Gets or sets the target size (in bytes) to try and reach for the compressed output. The compressor makes several passes of partial encoding in order to get as close as possible to this target. (webp:target-size).

public int? TargetSize { get; set; }

Property Value

int?

ThreadLevel

Gets or sets a value indicating whether multi-threaded encoding should be enabled (webp:thread-level).

public bool? ThreadLevel { get; set; }

Property Value

bool?

UseSharpYuv

Gets or sets a value indicating whether sharp (and slow) RGB->YUV conversion should be used. (webp:use-sharp-yuv).

public bool? UseSharpYuv { get; set; }

Property Value

bool?