ResizeType

ResizeType enumeration

指定调整大小类型。

public enum ResizeType

价值观

姓名价值描述
None0在调整大小操作期间不保留像素。
LeftTopToLeftTop1新图像的左上点将与原始图像的左上点重合。如果需要,将进行裁剪。
RightTopToRightTop2新图像的右顶点将与原始图像的右顶点重合。如果需要,将进行裁剪。
RightBottomToRightBottom3新图像的右下点将与原始图像的右下点重合。如果需要,将进行裁剪。
LeftBottomToLeftBottom4新图像的左下点将与原始图像的左下点重合。如果需要,将进行裁剪。
CenterToCenter5新图像的中心将与原始图像的中心重合。如果需要,将进行裁剪。
LanczosResample6使用 lanczos 算法重新采样,a=3.
NearestNeighbourResample7使用最近邻算法重新采样。
AdaptiveResample8使用基于加权和混合有理函数和 lanczos3 插值算法的自适应算法进行重采样。
BilinearResample9使用双线性插值重新采样。图像预过滤允许在重新采样之前去除噪声,当需要时
HighQualityResample10高质量的重采样
CatmullRom11Catmull-Rom 三次插值法。
CubicConvolution12三次卷积插值法
CubicBSpline13CubicBSpline三次插值法
Mitchell14米切尔三次插值法
SinC15Sinc(Lanczos3)三次插值法
Bell16贝尔插值法

例子

使用特定的调整大小类型调整图像大小。

[C#]

using (var image = Image.Load("Photo.jpg"))
{
    image.Resize(640, 480, ResizeType.CatmullRom);
    image.Save("ResizedPhoto.jpg");

    image.Resize(1024, 768, ResizeType.CubicConvolution);
    image.Save("ResizedPhoto2.jpg");

    var resizeSettings = new ImageResizeSettings
    {
        Mode = ResizeType.CubicBSpline,
        FilterType = ImageFilterType.SmallRectangular
    };

    image.Resize(800, 800, resizeSettings);
    image.Save("ResizedPhoto3.jpg");
}

此示例加载图像并使用各种调整大小的方法调整其大小。

[C#]

string dir = "c:\\temp\\";

using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.gif"))
{
    // 使用最近邻重采样放大 2 倍。
    image.Resize(image.Width* 2, image.Height* 2, Aspose.Imaging.ResizeType.NearestNeighbourResample);
    image.Save(dir + "upsample.nearestneighbour.gif");
}

using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.gif"))
{
    // 使用最近邻重采样缩小 2 倍。
    image.Resize(image.Width / 2, image.Height / 2, Aspose.Imaging.ResizeType.NearestNeighbourResample);
    image.Save(dir + "downsample.nearestneighbour.gif");
}

using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.gif"))
{
    // 使用双线性重采样放大 2 倍。
    image.Resize(image.Width* 2, image.Height* 2, Aspose.Imaging.ResizeType.BilinearResample);
    image.Save(dir + "upsample.bilinear.gif");
}

using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.gif"))
{
    // 使用双线性重采样缩小 2 倍。
    image.Resize(image.Width / 2, image.Height / 2, Aspose.Imaging.ResizeType.BilinearResample);
    image.Save(dir + "downsample.bilinear.gif");
}

也可以看看