/// <summary>
/// 返回缩略图
/// </summary>
/// <param name="path"></param>
public void MakeThumbnail(string path)
{
if (!path.StartsWith("/"))
{
path = "/" + path;
}
try
{
int W = 0;
int H = 0;
path = path.ToLower();
Regex reg = new Regex("_\\d+(x\\d+)?");
Match m = reg.Match(path);
string size = m.Groups[0].ToString().Replace("_", "");
var arr = size.Split('x');
if (arr.Length == 1)
{
W = arr[0].ToInt32();
H = W;
}
else
{
W = arr[0].ToInt32();
H = arr[1].ToInt32();
}
path = reg.Replace(path, ""); //去掉裁剪格式
MakeThumbnail(path, W, H, "Cut");
}
catch (Exception ex)
{
Response.Write("The file is not exists");
}
}
#region 私有方法
///<summary>
/// 生成缩略图
/// </summary>
/// <param name="originalImagePath">源图路径(物理路径)</param>
/// <param name="width">缩略图宽度</param>
/// <param name="height">缩略图高度</param>
/// <param name="mode">生成缩略图的方式</param>
private void MakeThumbnail(string originalImagePath, int width, int height, string mode)
{
try
{
string ext = originalImagePath.Substring(originalImagePath.LastIndexOf('.')).ToLower();
System.Drawing.Image originalImage = System.Drawing.Image.FromFile(Server.MapPath(originalImagePath), true);
int towidth = width;
int toheight = height;
int x = 0;
int y = 0;
int ow = originalImage.Width;