public ActionResult UploadImge(string serverId)
{
var headPath = "/UploadImage/" + DateTime.Now.ToString("yyyyMM");
string AbsoluteFilePath = Server.MapPath(headPath);
if (!Directory.Exists(AbsoluteFilePath))
{
Directory.CreateDirectory(AbsoluteFilePath);
}
string imgPath = headPath + "/" + DateTime.Now.ToString("yyyyMMddHHmm") + serverId + ".jpg";//原图
string AbsolutePath = Server.MapPath(imgPath);
WeChatClient.SaveMultimedia(serverId, AbsolutePath);
return Json(imgPath);
}
public ActionResult UploadImge2(string serverId)
{
var headPath = "/UploadImage/" + DateTime.Now.ToString("yyyyMM");
string AbsoluteFilePath = Server.MapPath(headPath);
if (!Directory.Exists(AbsoluteFilePath))
{
Directory.CreateDirectory(AbsoluteFilePath);
}
string imgPath = headPath + "/" + DateTime.Now.ToString("yyyyMMddHHmm") + serverId + ".jpg";
string AbsolutePath = Server.MapPath(imgPath);
WeChatClient.SaveMultimedia(serverId, AbsolutePath);
CommonUtil.MakeThumbnail(AbsolutePath, AbsolutePath.Replace(".jpg", "_2.jpg"),3, 4);//以3:4比例裁剪
return Json(imgPath);
}
public ActionResult UploadImge3(string serverId)
{
var headPath = "/UploadImage/" + DateTime.Now.ToString("yyyyMM");
string AbsoluteFilePath = Server.MapPath(headPath);
if (!Directory.Exists(AbsoluteFilePath))
{
Directory.CreateDirectory(AbsoluteFilePath);
}
string imgPath = headPath + "/" + DateTime.Now.ToString("yyyyMMddHHmm") + serverId + ".jpg";
string AbsolutePath = Server.MapPath(imgPath);
WeChatClient.SaveMultimedia(serverId, AbsolutePath);
CommonUtil.MakeThumbnail(AbsolutePath, AbsolutePath.Replace(".jpg", "_3.jpg"), 4, 3);//以4:3比例裁剪图片
return Json(imgPath);
}
public static void MakeThumbnail(string originalImagePath, string thumbnailPath, int bw = 4, int bh = 3)
{
try
{
Image originalImage = Image.FromFile(originalImagePath);
var bl = originalImage.Height * 1.00 / originalImage.Width;
int orgWith, orgHeight, startY = 0, startX = 0, newWith, newHeight = 0;
var bd = bh * 1.00 / bw;
if (bl > bd)
{
orgWith = originalImage.Width;
orgHeight = (int)(originalImage.Width * bh / bw);
startY = (originalImage.Height - orgHeight) / 2;
newWith = orgWith;
if (newWith > 720)
{
newWith = 720;
}
newHeight = (int)(newWith * bh / bw);
}
else
{
orgWith = originalImage.Height * bw / bh;
orgHeight = originalImage.Height;
startX = (originalImage.Width - orgWith) / 2;
newWith = orgWith;
if (newWith > 720)
{
newWith = 720;
}
newHeight = (int)(newWith * bh / bw);
}
Bitmap destBitmap = new Bitmap(newWith, newHeight);//目标图
Rectangle destRect = new Rectangle(0, 0, newWith, newHeight);//矩形容器
Rectangle srcRect = new Rectangle(startX, startY, orgWith, orgHeight);
var g = Graphics.FromImage(destBitmap);
//设置高质量插值法
g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.High;
//设置高质量,低速度呈现平滑程度
g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;
//清空画布并以透明背景色填充
g.Clear(Color.Transparent);
try
{
g.DrawImage(originalImage, destRect, srcRect, GraphicsUnit.Pixel);
destBitmap.Save(thumbnailPath, originalImage.RawFormat);
}
ca