首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

图像在C#中调整大小 - 确定调整大小尺寸(高度和宽度)的算法

在C#中调整图像大小,可以使用System.Drawing命名空间中的Bitmap类。以下是一个简单的示例,展示了如何使用C#调整图像大小:

代码语言:csharp
复制
using System;
using System.Drawing;
using System.Drawing.Drawing2D;
using System.IO;

public static class ImageResizer
{
    public static Image ResizeImage(Image image, int width, int height)
    {
        var destRect = new Rectangle(0, 0, width, height);
        var destImage = new Bitmap(width, height);

        destImage.SetResolution(image.HorizontalResolution, image.VerticalResolution);

        using var graphics = Graphics.FromImage(destImage);
        graphics.CompositingMode = CompositingMode.SourceCopy;
        graphics.CompositingQuality = CompositingQuality.HighQuality;
        graphics.InterpolationMode = InterpolationMode.HighQualityBicubic;
        graphics.SmoothingMode = SmoothingMode.HighQuality;
        graphics.PixelOffsetMode = PixelOffsetMode.HighQuality;

        using var wrapMode = new ImageAttributes();
        wrapMode.SetWrapMode(WrapMode.TileFlipXY);
        graphics.DrawImage(image, destRect, 0, 0, image.Width, image.Height, GraphicsUnit.Pixel, wrapMode);

        return destImage;
    }
}

在这个示例中,我们定义了一个名为ResizeImage的静态方法,该方法接受一个Image对象、目标宽度和目标高度作为参数,并返回一个调整大小后的Image对象。

在方法内部,我们首先创建一个新的Bitmap对象,并设置其分辨率为原始图像的分辨率。然后,我们使用Graphics对象绘制调整大小后的图像,并使用ImageAttributes对象设置绘制模式。最后,我们使用DrawImage方法将原始图像绘制到目标图像上,并返回调整大小后的图像。

这个示例中的算法可以确保调整后的图像具有良好的图像质量和清晰度。在实际应用中,您可以根据需要对其进行调整和优化。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

没有搜到相关的沙龙

领券