asp.net中生成縮略圖并添加版權(quán)_.Net教程
推薦:ASP.NET 設(shè)計(jì)中的 N 個(gè)技巧asp.net中DataGrid雙行跨列表頭設(shè)計(jì)心得! 一、DataGrid的屬性設(shè)置 1. AllowPaging: true 2. PageStyle->Position: TopAndBottom 3. 可選:PageStyle->HorizonAlign: Center(
//定義image類的對(duì)象
Drawing.Image image,newimage;
//圖片路徑
protected string imagePath;
//圖片類型
protected string imageType;
//圖片名稱
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;
//取得圖片類型
imageType= imagePath.Substring(imagePath.LastIndexOf(".") 1);
//取得圖片名稱
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!");
}
//還需要判斷文件類型是否為圖像類型,這里就不贅述了
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è)矩形里畫上白底黑字
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類型
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讀取數(shù)據(jù)庫(kù)亂碼的解決完全方案在下面的映射表中加入gb2312 和gbk,就不會(huì)有亂碼了,源碼在下面提供一位網(wǎng)友寫的程序改了改 private static void LoadCharsetMap() {
- asp.net如何得到GRIDVIEW中某行某列值的方法
- .net SMTP發(fā)送Email實(shí)例(可帶附件)
- js實(shí)現(xiàn)廣告漂浮效果的小例子
- asp.net Repeater 數(shù)據(jù)綁定的具體實(shí)現(xiàn)
- Asp.Net 無(wú)刷新文件上傳并顯示進(jìn)度條的實(shí)現(xiàn)方法及思路
- Asp.net獲取客戶端IP常見代碼存在的偽造IP問(wèn)題探討
- VS2010 水晶報(bào)表的使用方法
- ASP.NET中操作SQL數(shù)據(jù)庫(kù)(連接字符串的配置及獲取)
- asp.net頁(yè)面?zhèn)髦禍y(cè)試實(shí)例代碼
- DataGridView - DataGridViewCheckBoxCell的使用介紹
- asp.net中javascript的引用(直接引入和間接引入)
- 三層+存儲(chǔ)過(guò)程實(shí)現(xiàn)分頁(yè)示例代碼
.Net教程Rss訂閱編程教程搜索
.Net教程推薦
- “您無(wú)權(quán)查看該網(wǎng)頁(yè)”的原因和解決方法
- 在ASP.NET中連接SQL Server的簡(jiǎn)單方法
- dropdownlist,datagrid數(shù)據(jù)綁定簡(jiǎn)單實(shí)現(xiàn)
- 優(yōu)秀ASP.NET程序員修煉之路
- 超簡(jiǎn)單實(shí)現(xiàn) .NET開發(fā)類似Web Parts的功能
- 在.net中如何利用數(shù)據(jù)工廠實(shí)現(xiàn)多數(shù)據(jù)庫(kù)的操作
- 如何實(shí)現(xiàn)C#中用鼠標(biāo)移動(dòng)頁(yè)面的功能
- 深入Lumisoft.NET組件開發(fā)碰到亂碼等問(wèn)題的解決方法
- asp.net網(wǎng)站RSS功能實(shí)例代碼
- 解讀.Net技術(shù)開發(fā)中兩個(gè)“屬性”引起的歧異
- 相關(guān)鏈接:
- 教程說(shuō)明:
.Net教程-asp.net中生成縮略圖并添加版權(quán)
。