/************************************************************************/ #region Constructors /// <summary> /// Initializes a new instance of the <see cref="TransformParameters"/> class. /// </summary> /// <param name="targetSize">The target size.</param> /// <param name="pixelFormat">The pixel format. Only PixelFormats.Pbgra32, Bgr24, and Gray8 are supported.</param> /// <param name="scalePolicy">Scale policy.</param> /// <param name="scaleQuality">Scale quality.</param> /// <param name="region">Region of interest, or empty rectangle for all.</param> public TransformParameters(Size targetSize, PixelFormat pixelFormat, ScalingPolicy scalePolicy, ScalingQuality scaleQuality, Rectangle region) { TargetSize = targetSize; PixelFormat = pixelFormat; ScalePolicy = scalePolicy; ScaleQuality = scaleQuality; Region = region; }
public TransformParameters(RectangleF regionOfInterest, Size targetFrameSize, ScalingPolicy scalePolicy, PixelFormat targetFormat, ScalingQuality scaleQuality) { RegionOfInterest = regionOfInterest; TargetFrameSize = targetFrameSize; TargetFormat = targetFormat; ScaleQuality = scaleQuality; ScalePolicy = scalePolicy; }
private static FFmpegScalingQuality ToFFmpegScaleQuality(ScalingQuality scalingQuality) { return(scalingQuality switch { ScalingQuality.Nearest => FFmpegScalingQuality.Point, ScalingQuality.Bilinear => FFmpegScalingQuality.Bilinear, ScalingQuality.FastBilinear => FFmpegScalingQuality.FastBilinear, ScalingQuality.Bicubic => FFmpegScalingQuality.Bicubic, _ => throw new ArgumentOutOfRangeException(nameof(scalingQuality)) });
private static FFmpegScalingQuality GetFFmpegScaleQuality(ScalingQuality scalingQuality) { if (scalingQuality == ScalingQuality.Nearest) { return(FFmpegScalingQuality.Point); } if (scalingQuality == ScalingQuality.Bilinear) { return(FFmpegScalingQuality.Bilinear); } if (scalingQuality == ScalingQuality.Bicubic) { return(FFmpegScalingQuality.Bicubic); } throw new ArgumentOutOfRangeException(nameof(scalingQuality)); }