按比例缩放图片
2007-04-12 14:18 DQ 阅读(257) 评论(0) 收藏 举报
/// <summary>
2
/// 按比例缩放图片
3
/// </summary>
4
/// <param name="imgUrl">图片的路径</param>
5
/// <param name="imgHeight">图片的高度</param>
6
/// <param name="imgWidth">图片的宽度</param>
7
/// <returns></returns>
8
public static string GetImageSize(string imgUrl,int imgHeight,int imgWidth)
9
{
10
string fileName = System.Web.HttpContext.Current.Server.MapPath(imgUrl);
11
string strResult = string.Empty;
12
if(System.IO.File.Exists(fileName) && imgHeight != 0 && imgWidth != 0)
13
{
14
decimal desWidth;decimal desHeight; //目标宽高
15
System.Drawing.Image objImage = System.Drawing.Image.FromFile(fileName);
16
decimal radioAct = (decimal)objImage.Width/(decimal)objImage.Height; //原始图片的宽高比
17
decimal radioLoc = (decimal)imgWidth/(decimal)imgHeight; //图片位的宽高比
18
if(radioAct > radioLoc) //原始图片比图片位宽
19
{
20
decimal dcmZoom = (decimal)imgWidth/(decimal)objImage.Width;
21
desHeight = objImage.Height*dcmZoom;
22
desWidth = imgWidth;
23
}
24
else
25
{
26
decimal dcmZoom = (decimal)imgHeight/(decimal)objImage.Height;
27
desWidth = objImage.Width*dcmZoom;
28
desHeight = imgHeight;
29
}
30
objImage.Dispose(); //释放资源
31
strResult = "width=\"" + Convert.ToString((int)desWidth) + "\" height=\""
32
+ Convert.ToString((int)desHeight) + "\" ";
33
}
34
return strResult;
35
}
2
/// 按比例缩放图片3
/// </summary>4
/// <param name="imgUrl">图片的路径</param>5
/// <param name="imgHeight">图片的高度</param>6
/// <param name="imgWidth">图片的宽度</param>7
/// <returns></returns>8
public static string GetImageSize(string imgUrl,int imgHeight,int imgWidth)9
{10
string fileName = System.Web.HttpContext.Current.Server.MapPath(imgUrl);11
string strResult = string.Empty;12
if(System.IO.File.Exists(fileName) && imgHeight != 0 && imgWidth != 0)13
{14
decimal desWidth;decimal desHeight; //目标宽高15
System.Drawing.Image objImage = System.Drawing.Image.FromFile(fileName);16
decimal radioAct = (decimal)objImage.Width/(decimal)objImage.Height; //原始图片的宽高比17
decimal radioLoc = (decimal)imgWidth/(decimal)imgHeight; //图片位的宽高比18
if(radioAct > radioLoc) //原始图片比图片位宽19
{ 20
decimal dcmZoom = (decimal)imgWidth/(decimal)objImage.Width;21
desHeight = objImage.Height*dcmZoom;22
desWidth = imgWidth;23
}24
else25
{26
decimal dcmZoom = (decimal)imgHeight/(decimal)objImage.Height;27
desWidth = objImage.Width*dcmZoom;28
desHeight = imgHeight;29
}30
objImage.Dispose(); //释放资源31
strResult = "width=\"" + Convert.ToString((int)desWidth) + "\" height=\""32
+ Convert.ToString((int)desHeight) + "\" ";33
}34
return strResult;35
}
我的新征途

浙公网安备 33010602011771号