1

2
/// <summary>3
/// 生成缩略图4
/// </summary>5
/// <param name="oldpath">原图片地址</param>6
/// <param name="newpath">新图片地址</param>7
/// <param name="tWidth">缩略图的宽</param>8
/// <param name="tHeight">缩略图的高</param>9
private void GreateMiniImage(string oldpath,string newpath,int tWidth, int tHeight)10
{11
12
try13
{14

15
System.Drawing.Image image = System.Drawing.Image.FromFile(oldpath);16
double bl=1d;17
if((image.Width<=image.Height)&&(tWidth>=tHeight))18
{19
bl=Convert.ToDouble(image.Height)/Convert.ToDouble(tHeight);20
}21
else if((image.Width>image.Height)&&(tWidth<tHeight))22
{23
bl=Convert.ToDouble(image.Width)/Convert.ToDouble(tWidth);24
25
}26
else27
28
if((image.Width<=image.Height)&&(tWidth<=tHeight))29
{30
if(image.Height/tHeight>=image.Width/tWidth)31
{32
bl=Convert.ToDouble(image.Width)/Convert.ToDouble(tWidth);33
34
}35
else36
{37
bl=Convert.ToDouble(image.Height)/Convert.ToDouble(tHeight);38
}39
}40
else41
{42
if(image.Height/tHeight>=image.Width/tWidth)43
{44
bl=Convert.ToDouble(image.Height)/Convert.ToDouble(tHeight);45
46
}47
else48
{49
bl=Convert.ToDouble(image.Width)/Convert.ToDouble(tWidth);50
51
}52
53
}54

55
56
Bitmap b = new Bitmap(image ,Convert.ToInt32(image.Width/bl), Convert.ToInt32(image.Height/bl));57

58
b.Save(newpath);59
b.Dispose();60
image.Dispose();61
62

63
}64
catch65
{66
67
68
}69
70
}

浙公网安备 33010602011771号