using System;
using NetVips.Internal;
namespace NetVips;
///
/// Make interpolators for operators like .
///
public class Interpolate : VipsObject
{
private Interpolate(nint pointer) : base(pointer)
{
}
///
/// Make a new interpolator by name.
///
///
/// Make a new interpolator from the libvips class nickname. For example:
///
/// var inter = Interpolate.NewFromName("bicubic");
///
/// You can get a list of all supported interpolators from the command-line
/// with:
///
/// $ vips -l interpolate
///
/// See for example .
///
/// libvips class nickname.
/// A new .
/// If unable to make a new interpolator from .
public static Interpolate NewFromName(string name)
{
var vi = VipsInterpolate.New(name);
if (vi == IntPtr.Zero)
{
throw new VipsException($"no such interpolator {name}");
}
return new Interpolate(vi);
}
}