在本篇文章中,我将介绍如何在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));

 输出结果: