asp.net中生成縮略圖并添加版權(quán)實(shí)例代碼
//定義image類(lèi)的對(duì)象
Drawing.Image image,newimage;
//圖片路徑
protected string imagePath;
//圖片類(lèi)型
protected string imageType;
//圖片名稱(chēng)
protected string imageName;
//提供一個(gè)回調(diào)方法,用于確定Image對(duì)象在執(zhí)行生成縮略圖操作時(shí)何時(shí)提前取消執(zhí)行
//如果此方法確定 GetThumbnailImage 方法應(yīng)提前停止執(zhí)行,則返回 true;否則返回 false
System.Drawing.Image.GetThumbnailImageAbort callb = null;
private void sm_Click(object sender, System.EventArgs e)
{
string mPath;
if("" != File1.PostedFile.FileName) //File1為上傳文件控件
{
imagePath = File1.PostedFile.FileName;
//取得圖片類(lèi)型
imageType= imagePath.Substring(imagePath.LastIndexOf(".")+1);
//取得圖片名稱(chēng)
imageName = imagePath.Substring(imagePath.LastIndexOf("\\")+1);
//判斷是否是JPG或者GIF圖片,這里只是舉個(gè)例子,并不一定必須是這兩種圖片
if("jpg" != imageType && "gif" != imageType)
{
Response.Write("<script language='javascript'> alert('對(duì)不起!請(qǐng)您選擇jpg或者gif格式的圖片!');</script>");
return;
}
else
{
try
{
//建立虛擬路徑
mPath=Server.MapPath("UploadFiles");
//保存到虛擬路徑
File1.PostedFile.SaveAs(mPath+"\\"+imageName);
//顯示原圖, imageSource為圖片控件
//imageSource.ImageUrl = "UploadFiles/"+imageName;
//為上傳的圖片建立引用
image=System.Drawing.Image.FromFile(mPath+"\\"+imageName);
//生成縮略圖
newimage=image.GetThumbnailImage(200,200,callb,new System.IntPtr());
//把縮略圖保存到指定的虛擬路徑
newimage.Save(Server.MapPath("UploadFiles")+"\\small"+imageName);
//釋放image對(duì)象占用的資源
image.Dispose();
//釋放newimage對(duì)象的資源
newimage.Dispose();
//顯示縮略圖
AddTextToImg ("UploadFiles/"+"small"+imageName,"Pic Info"); // 在圖片上加入信息說(shuō)明
Image1.ImageUrl = "UploadFiles/"+"small"+imageName;
Script.Alert("上傳成功!");
}
catch
{
Script.Alert("上傳失敗!");
}
} // end else
}
// 在圖片上加入自己的信息,
// AddTextToImg (physicPath,"Pic Info");
private void AddTextToImg(string fileName,string text)
{
//string sss = MapPath(fileName);
if ( !File.Exists ( fileName)) {
throw new FileNotFoundException("The file don't exist!");
}
//還需要判斷文件類(lèi)型是否為圖像類(lèi)型,這里就不贅述了
System.Drawing.Image image = System.Drawing.Image.FromFile(fileName);//MapPath(fileName));
Bitmap bitmap = new Bitmap(image,image.Width,image.Height);
Graphics g = Graphics.FromImage(bitmap);
float fontSize = 22.0f; //字體大小
float textWidth = text.Length*fontSize; //文本的長(zhǎng)度
//下面定義一個(gè)矩形區(qū)域,以后在這個(gè)矩形里畫(huà)上白底黑字
float rectX = 0;
float rectY = 0;
float rectWidth = text.Length*(fontSize+18);
float rectHeight = fontSize+18;
//聲明矩形域
RectangleF textArea = new RectangleF(rectX,rectY,rectWidth,rectHeight);
Font font = new Font("宋體",fontSize);//定義字體
Brush whiteBrush = new SolidBrush(Color.White);
Brush blackBrush = new SolidBrush(Color.Black);
g.FillRectangle(blackBrush,rectX,rectY,rectWidth,rectHeight);
g.DrawString(text,font,whiteBrush,textArea);
MemoryStream ms = new MemoryStream();
//保存為Jpg類(lèi)型
bitmap.Save(ms,ImageFormat.Jpeg);
//輸出處理后的圖像,這里為了演示方便,我將圖片顯示在頁(yè)面中了
/**//* Response.Clear();
Response.ContentType = "image/jpeg";
Response.BinaryWrite( ms.ToArray() );
*/
FileStream fs=new FileStream(fileName, FileMode.OpenOrCreate);//.CreateNew);
fs.Write(ms.ToArray(),0,ms.ToArray().Length);
fs.Close();
Image1.ImageUrl = fileName; // 將圖片顯示在Image控件中
g.Dispose();
bitmap.Dispose();
image.Dispose();
}
- ASP.NET創(chuàng)建動(dòng)態(tài)縮略圖的方法
- asp.net生成縮略圖示例方法分享
- asp.net生成縮略圖實(shí)現(xiàn)代碼
- asp.net文件上傳功能(單文件,多文件,自定義生成縮略圖,水印)
- asp.net 生成縮略圖代碼
- asp.net 上傳圖片并同時(shí)生成縮略圖的代碼
- asp.net 點(diǎn)縮略圖彈出隨圖片大小自動(dòng)調(diào)整的頁(yè)面
- ASP.Net 上傳圖片并生成高清晰縮略圖
- asp.net生成高質(zhì)量縮略圖通用函數(shù)(c#代碼),支持多種生成方式
- ASP.NET中高質(zhì)量縮略圖的生成代碼
- asp.net圖片上傳生成縮略圖的注意事項(xiàng)
- ASP.NET實(shí)現(xiàn)根據(jù)URL生成網(wǎng)頁(yè)縮略圖的方法
相關(guān)文章
ASP.NET網(wǎng)站偽靜態(tài)下使用中文URL的方法
中文URL是在URL中直接使用漢字,它的好處是可以使用鏈接地址看起來(lái)非常直觀易懂,偽靜態(tài)的規(guī)則,是在web.config文件中定義的2014-08-08ASP.NET Core 2.0 支付寶掃碼支付的實(shí)現(xiàn)代碼
這篇文章主要介紹了ASP.NET Core 2.0 支付寶掃碼支付的實(shí)現(xiàn)代碼,需要的朋友可以參考下2017-10-10GridView中點(diǎn)擊CheckBox選中一行來(lái)改變此行的顏色
這篇文章主要介紹了GridView中點(diǎn)擊CheckBox選中一行來(lái)改變此行的顏色的具體實(shí)現(xiàn),需要的朋友可以參考下2014-05-05C#實(shí)現(xiàn)上傳照片到物理路徑,并且將地址保存到數(shù)據(jù)庫(kù)的小例子
這篇文章主要介紹了c#上傳圖片,并將地址保存到數(shù)據(jù)庫(kù)中的簡(jiǎn)單實(shí)例,有需要的朋友可以參考一下2013-12-12C# 文件保存到數(shù)據(jù)庫(kù)中或者從數(shù)據(jù)庫(kù)中讀取文件
在編程中我們常常會(huì)遇到“將文件保存到數(shù)據(jù)庫(kù)中”這樣一個(gè)問(wèn)題,雖然這已不是什么高難度的問(wèn)題,但對(duì)于一些剛剛開(kāi)始編程的朋友來(lái)說(shuō)可能是有一點(diǎn)困難。2009-03-03asp.net生成Excel并導(dǎo)出下載五種實(shí)現(xiàn)方法
有關(guān)Excel下載的文章網(wǎng)上想必有很多,利用閑暇時(shí)間整理了一些有Excel下載方法的文章,接下來(lái)介紹五種實(shí)現(xiàn)Excel下載的方法,感興趣的朋友可以了解下,或許對(duì)你學(xué)習(xí)Excel下載有所幫助2013-02-02asp.net中將數(shù)據(jù)庫(kù)綁定到DataList控件的實(shí)現(xiàn)方法與實(shí)例代碼
我現(xiàn)在要做這個(gè)頁(yè)面,然后我用DataList控件顯示題目,我想問(wèn)如何把我數(shù)據(jù)庫(kù)的題目綁定到DataList控件里面,然后讓它顯示考試題目?2011-06-06