asp.net 圖片裁切
來源:互聯網
上載者:User
//圖片路徑
String oldPath = Server.MapPath("/111.jpg");
//新圖片路徑
String newPath = System.IO.Path.GetExtension(oldPath);
//設定截取的座標和大小
int x = 500, y = 0, width = 500, height = 500;
//計算新的檔案名稱,在舊檔案名稱後加_new
newPath = oldPath.Substring(0, oldPath.Length - newPath.Length) + "_new" + newPath;
Response.Write(oldPath);
Response.Write("<br>");
Response.Write(newPath);
Response.Write("<br>");
//定義截取矩形
System.Drawing.Rectangle cropArea = new System.Drawing.Rectangle(x, y,width, height); //要截取的地區大小
//載入圖片
System.Drawing.Image img = System.Drawing.Image.FromStream(new System.IO.MemoryStream(System.IO.File.ReadAllBytes(oldPath)));
//判斷超出的位置否
if ((img.Width < x + width) || img.Height < y + height)
{
Response.Write("截取的地區超過了圖片本身的高度、寬度.");
img.Dispose();
return;
}
//定義Bitmap對象
System.Drawing.Bitmap bmpImage = new System.Drawing.Bitmap(img);
//進行裁剪
System.Drawing.Bitmap bmpCrop = bmpImage.Clone(cropArea, bmpImage.PixelFormat);
//儲存成新檔案
bmpCrop.Save(newPath);
//釋放對象
img.Dispose();
bmpCrop.Dispose();
Response.Write("裁切成功");