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));

 输出结果:

你可能感兴趣的:(C#中如何调整图像大小)