C#中如何调整图像大小

在本篇文章中,我将介绍如何在C#中来调整你想要的图像大小。要实现这一目标,我们可以采取以下几个步骤:

1.首先要获取你想要调整大小的图像:

1
2
string path = Server.MapPath("~/Images");
System.Drawing.Image img = System.Drawing.Image.FromFile(string.Concat(path,"/3904.jpg"));

2.将图像转换为Bitmap:

1
Bitmap b = new Bitmap(img);

3.创建一个调整图像大小的方法:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
private static System.Drawing.Image resizeImage(System.Drawing.Image imgToResize, Size size)
{
    //获取图片宽度
    int sourceWidth = imgToResize.Width;
    //获取图片高度
    int sourceHeight = imgToResize.Height;
  
    float nPercent = 0;
    float nPercentW = 0;
    float nPercentH = 0;
    //计算宽度的缩放比例
    nPercentW = ((float)size.Width / (float)sourceWidth);
    //计算高度的缩放比例
    nPercentH = ((float)size.Height / (float)sourceHeight);      
  
    if (nPercentH < nPercentW)
        nPercent = nPercentH;
    else
     nPercent = nPercentW;
     //期望的宽度
     int destWidth = (int)(sourceWidth * nPercent);
     //期望的高度
     int destHeight = (int)(sourceHeight * nPercent);
  
     Bitmap b = new Bitmap(destWidth, destHeight);
     Graphics g = Graphics.FromImage((System.Drawing.Image)b);
     g.InterpolationMode = InterpolationMode.HighQualityBicubic;
     //绘制图像
     g.DrawImage(imgToResize, 0, 0, destWidth, destHeight);
     g.Dispose();
     return (System.Drawing.Image)b;
}

 在上面的方法中,我们获取了位图图像,然后绘制了不同尺寸的图像(这里绘制出的图像是基于指定的纵横比)

4.调用上述方法,得到调整大小之后的图片:

1
System.Drawing. Image i = resizeImage(b, new Size(100, 100));

 输出结果:

谢谢浏览,希望对你有所帮助。

posted @   E-iceblue  阅读(21335)  评论(5编辑  收藏  举报
编辑推荐:
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· C++代码改造为UTF-8编码问题的总结
· DeepSeek 解答了困扰我五年的技术问题
· 为什么说在企业级应用开发中,后端往往是效率杀手?
阅读排行:
· 2分钟学会 DeepSeek API,竟然比官方更好用!
· .NET 使用 DeepSeek R1 开发智能 AI 客户端
· 10亿数据,如何做迁移?
· 推荐几款开源且免费的 .NET MAUI 组件库
· c# 半导体/led行业 晶圆片WaferMap实现 map图实现入门篇
点击右上角即可分享
微信分享提示