asp.net中生成缩略图并添加版权实例代码
2013-11-06 00:00
573 查看
//定义image类的对象 Drawing.Image image,newimage; //图片路径 protected string imagePath; //图片类型 protected string imageType; //图片名称 protected string imageName; //提供一个回调方法,用于确定Image对象在执行生成缩略图操作时何时提前取消执行 //如果此方法确定 GetThumbnailImage 方法应提前停止执行,则返回 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图片,这里只是举个例子,并不一定必须是这两种图片 if("jpg" != imageType && "gif" != imageType) { Response.Write("<script language='javascript'> alert('对不起!请您选择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对象占用的资源 image.Dispose(); //释放newimage对象的资源 newimage.Dispose(); //显示缩略图 AddTextToImg ("UploadFiles/"+"small"+imageName,"Pic Info"); // 在图片上加入信息说明 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; //文本的长度 //下面定义一个矩形区域,以后在这个矩形里画上白底黑字 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); //输出处理后的图像,这里为了演示方便,我将图片显示在页面中了 /**//* 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中生成缩略图并添加版权实例代码
- ASP.Net生成缩略图并添加版权
- asp.net生成高质量缩略图通用函数(c#代码),支持多种生成方式
- asp.net生成高质量缩略图通用函数(c#代码),支持多种生成方式
- asp.net生成缩略图并支持文件上传实现代码
- asp.net生成高质量缩略图通用函数(c#代码
- asp.net生成高质量缩略图通用函数(c#代码),支持多种生成方式
- 用ASP.NET上传图片并生成带版权信息的缩略图
- asp.net C#生成和解析二维码的实例代码
- asp.net生成高质量缩略图通用函数(c#代码),支持多种生成方式
- asp.net上传图片自动生成缩略图功能代码
- ASP.NET生成高质量缩略图通用函数(c#代码)
- ASP.NET中高质量缩略图的生成代码
- ASP.NET生成缩略图代码
- asp.net生成高质量缩略图通用函数(c#代码),支持多种生成方式
- ASP.NET生成高质量缩略图通用函数(c#代码)
- ASP.NET生成高质量缩略图通用函数(C#代码),支持多种生成方式
- ASP.NET动态生成静态页面的实例代码
- 用ASP.NET上传图片并生成带版权信息的缩略图