當前位置:編程學習大全網 - 源碼下載 - 現在我想用asp 視頻上傳後直接生成壹個縮略圖應該如何寫這個程序,請高手詳細解說下,有例子就更好了,謝

現在我想用asp 視頻上傳後直接生成壹個縮略圖應該如何寫這個程序,請高手詳細解說下,有例子就更好了,謝

/// <summary>

/// 生成縮略圖

/// </summary>

/// <param name="fileName">原文件</param>

/// <param name="width">寬度</param>

/// <param name="height">高度</param>

private void CreateThumbnailImage(string fileName, string smallPath, int width, int height)

{

//版權信息

string strAdd = "";

//生成的縮略圖的名字=年月日+文件大小(防止文件名相同)

string newFileName = smallPath;

System.Drawing.Image image, newImage;

//載入原圖像

image = System.Drawing.Image.FromFile(Server.MapPath(fileName));

//回調

System.Drawing.Image.GetThumbnailImageAbort callb = new System.Drawing.Image.GetThumbnailImageAbort(callBack);

//生成縮略圖

newImage = image.GetThumbnailImage(width, height, callb, new System.IntPtr());

AddInfo(newImage, strAdd, newFileName, 16);

image.Dispose();

newImage.Dispose();

Image1.ImageUrl = newFileName;

}

/// <summary>

/// 添加版權信息

/// </summary>

/// <param name="image"></param>

/// <param name="strAdd"></param>

/// <param name="newFileName"></param>

/// <param name="fontSize"></param>

private void AddInfo(System.Drawing.Image image, string strAdd, string newFileName, int fontSize)

{

Response.Clear();

Bitmap b = new Bitmap(image);

Graphics g = Graphics.FromImage(b);

g.DrawString(strAdd, new Font("宋體", fontSize), new SolidBrush(Color.Red), image.Width / 2 - 80, image.Height - 30);

b.Save(Server.MapPath(newFileName), System.Drawing.Imaging.ImageFormat.Gif);

}

private bool callBack()

{

return true;

}

protected void Button1_Click(object sender, EventArgs e)

{

if (loadFile.PostedFile != null)

{

//判斷是不是圖像文件

if (loadFile.PostedFile.ContentType.ToLower().IndexOf("image") < 0)

{

//文件類型錯誤

}

else

{

string ext = loadFile.PostedFile.FileName.Substring(loadFile.PostedFile.FileName.LastIndexOf("."));

//生成新的原文件名 年月日+文件大小+擴展名

string path = "Uploads\\" + System.DateTime.Now.Date.ToShortDateString() + loadFile.PostedFile.ContentLength.ToString() + ext;

//加上版權信息的文件

string newPath = "Uploads\\" + System.DateTime.Now.Date.ToShortDateString() + loadFile.PostedFile.ContentLength.ToString() + "new" + ext;

//縮略圖文件名

string newFileName = "uploads\\" + System.DateTime.Now.Date.ToShortDateString() + loadFile.PostedFile.ContentLength.ToString() + "small.gif";

//上傳原圖

loadFile.PostedFile.SaveAs(Server.MapPath(path));

//生成縮略圖

CreateThumbnailImage(path, newFileName, 200, 300);

//給原圖加上版權信息

System.Drawing.Image image = System.Drawing.Image.FromFile(Server.MapPath(path));

AddInfo(image, "", newPath, 20);

image.Dispose();

}

}

}

  • 上一篇:胡蘿蔔含有哪些營養成分
  • 下一篇:本人是1988年4月25日10點56“生人求大師預測本人的婚姻,事業,感情問題謝謝
  • copyright 2024編程學習大全網