当前位置:首页C# > 正文

C# 使用System.Drawing.Image类进行图片相关操作

作者:野牛程序员:2023-12-25 13:22:05C#阅读 2377

System.Drawing.Image 类是在 .NET Framework 中用于处理图像的一个基本类。以下是一些使用 System.Drawing.Image 类进行图片相关操作的示例代码:

  1. 加载图片:

string imagePath = "path/to/your/image.jpg";
Image originalImage = Image.FromFile(imagePath);
  1. 调整图片大小:

int newWidth = 300;
int newHeight = 200;

Image resizedImage = new Bitmap(originalImage, newWidth, newHeight);
  1. 旋转图片:

float angle = 90.0f;

using (Graphics g = Graphics.FromImage(originalImage))
{
    g.RotateTransform(angle);
    g.DrawImage(originalImage, new Point(0, 0));
}
  1. 保存图片:

string outputPath = "path/to/save/result.jpg";
resizedImage.Save(outputPath, ImageFormat.Jpeg);

请注意,这些示例代码基于 .NET Framework,而在 .NET Core 和 .NET 5+ 中,推荐使用 System.Drawing.Common 包。如果使用 .NET Core 或 .NET 5+,可以通过 NuGet 安装 System.Drawing.Common,然后在代码中使用 System.Drawing 命名空间。

确保在完成操作后,使用 Dispose 方法释放资源,以免发生内存泄漏。


using System;
using System.Drawing;
using System.Drawing.Imaging;

class ImageManipulation
{
    static void Main()
    {
        // 1. 加载图片
        string imagePath = "path/to/your/image.jpg";
        Image originalImage = Image.FromFile(imagePath);

        // 2. 调整图片大小
        int newWidth = 300;
        int newHeight = 200;
        Image resizedImage = new Bitmap(originalImage, newWidth, newHeight);

        // 3. 旋转图片
        float angle = 90.0f;
        using (Graphics g = Graphics.FromImage(originalImage))
        {
            g.RotateTransform(angle);
            g.DrawImage(originalImage, new Point(0, 0));
        }

        // 4. 保存图片
        string outputPath = "path/to/save/result.jpg";
        resizedImage.Save(outputPath, ImageFormat.Jpeg);

        // 释放资源
        originalImage.Dispose();
        resizedImage.Dispose();
    }
}


野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892
野牛程序员教少儿编程与信息学竞赛-微信|电话:15892516892
相关推荐

最新推荐

热门点击