在C#中,你可以使用 System.Drawing 命名空间中的 Graphics 类来缩放图像。以下是缩放图像的一般步骤:

  1. 加载原始图像:使用 Image.FromFileBitmap.FromFile 方法加载原始图像。

  2. 创建缩放后的图像:创建一个新的 Bitmap 对象,其大小为缩放后的大小。

  3. 绘制缩放后的图像:使用 Graphics 对象的 DrawImage 方法将原始图像绘制到新的 Bitmap 对象上,实现缩放。

  4. 保存或显示缩放后的图像:保存或显示缩放后的图像。

示例代码

以下是一个完整的示例,展示如何缩放图像:

using System;
using System.Drawing;
using System.Drawing.Drawing2D;
​
class Program
{
    static void Main()
    {
        // 原始图像路径
        string originalImagePath = "original.jpg";
        // 缩放后的图像路径
        string scaledImagePath = "scaled.jpg";
​
        // 加载原始图像
        Image originalImage = Image.FromFile(originalImagePath);
​
        // 设置缩放后的图像大小
        int newWidth = 200; // 新的宽度
        int newHeight = 150; // 新的高度
​
        // 创建一个新的Bitmap对象,用于存储缩放后的图像
        Bitmap scaledImage = new Bitmap(newWidth, newHeight);
​
        // 使用Graphics对象进行绘制
        using (Graphics g = Graphics.FromImage(scaledImage))
        {
            // 设置图像质量
            g.InterpolationMode = InterpolationMode.HighQualityBicubic;
            g.SmoothingMode = SmoothingMode.HighQuality;
            g.PixelOffsetMode = PixelOffsetMode.HighQuality;
​
            // 绘制缩放后的图像
            g.DrawImage(originalImage, new Rectangle(0, 0, newWidth, newHeight));
        }
​
        // 保存缩放后的图像
        scaledImage.Save(scaledImagePath);
​
        // 释放资源
        originalImage.Dispose();
        scaledImage.Dispose();
​
        Console.WriteLine("Image scaled and saved to " + scaledImagePath);
    }
}

说明

  1. 加载原始图像:使用 Image.FromFile 方法加载原始图像。

  2. 创建新的 Bitmap 对象:创建一个新的 Bitmap 对象,其大小为缩放后的大小。

  3. 设置图像质量

    • InterpolationMode.HighQualityBicubic:设置插值模式为高质量的双三次插值。

    • SmoothingMode.HighQuality:设置平滑模式为高质量。

    • PixelOffsetMode.HighQuality:设置像素偏移模式为高质量。

  4. 绘制缩放后的图像:使用 Graphics.DrawImage 方法将原始图像绘制到新的 Bitmap 对象上,实现缩放。

  5. 保存缩放后的图像:使用 Bitmap.Save 方法保存缩放后的图像。

  6. 释放资源:使用 Dispose 方法释放图像资源。

注意事项

  • 资源管理:确保在操作完成后释放图像资源,避免内存泄漏。

  • 图像质量:通过设置 Graphics 对象的模式,可以提高缩放后的图像质量。

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部