/// <summary> /// Sets the lossless compression support. /// </summary> /// <param name="lossless"><c>true</c> [lossless].</param> /// <exception cref="HeifException">A LibHeif error occurred.</exception> /// <exception cref="ObjectDisposedException">The object has been disposed.</exception> public void SetLossless(bool lossless) { VerifyNotDisposed(); var error = LibHeifNative.heif_encoder_set_lossless(this.encoder, lossless); error.ThrowIfError(); }
/// <summary> /// Sets the lossless compression support. /// </summary> /// <param name="lossless"> /// <see langword="true"/> if the encoder should use lossless compression; otherwise, <see langword="false"/>. /// </param> /// <exception cref="HeifException">A LibHeif error occurred.</exception> /// <exception cref="ObjectDisposedException">The object has been disposed.</exception> public void SetLossless(bool lossless) { VerifyNotDisposed(); var error = LibHeifNative.heif_encoder_set_lossless(this.encoder, lossless); error.ThrowIfError(); if (lossless && !this.lossyQualitySet) { // LibHeif requires the lossy quality to be always be set, if it has // not been set the encoder will produce a corrupted image. error = LibHeifNative.heif_encoder_set_lossy_quality(this.encoder, 50); error.ThrowIfError(); this.lossyQualitySet = true; } }