C#图片处理

<%@   Page   Debug   ="true"   Language="c#"   %>  
  <%@   Import   Namespace="System.IO"   %>  
  <%@   Import   Namespace="System.Data"   %>  
  <%@   Import   Namespace="System.Web"   %>  
  <%@   Import   Namespace="System.Data.SqlClient"   %>  
  <html>  
  <!--此程序由长沙铁路公安处彭永爽开发,版权所有,不得复制-->  
  <head>  
  <script   language="c#"   runat="server">    
   
  //页面载入事件  
  public   void   Page_Load(object   sender,System.EventArgs   e)  
  {    
   
  //定义图片标志  
  string   pys_pic;  
  pys_pic="";  
   
  //定义文件夹名称  
  string   pys_dir;  
  pys_dir=DateTime.Now.Year.ToString();  
   
  //定义文件名前部分,以免上传文件因文件名重复而覆盖  
  string   pys_filename;    
   
  //如果客户端已经上传文件,则保存    
  if   (!IsPostBack)  
  {  
  LiuXi.Text="等待上传";  
  }  
  else  
  {  
  //检查是否有文章id,如果没有,则处理  
  if   (Request["pysid"]==null   |   Request["pysid"]=="")  
  {  
  strStatus.Text="<font   color=red>发生错误,您没有从正当途径进入该页面,请关闭本页面!</font>";  
  }  
  else  
  {  
  //遍历File表单元素  
  System.Web.HttpFileCollection   files=System.Web.HttpContext.Current.Request.Files;  
  //状态信息  
  System.Text.StringBuilder   strMsg=new   System.Text.StringBuilder("<font   color=red>上传的文件信息分别为:</font><hr   size=1   color=blue>");  
  int   fileCount;  
  int   filecount=files.Count;    
  //储存上传图片的客户端地址,以便检测上传图片的大小  
  string   imgPath;    
  //检查上传文件是否图片  
  string   pys_type;  
  //保存图片生成缩略图的宽度  
  int   pys_width;    
  try  
  {  
  //数据库连接字符串  
  string   ConnectionString="server=(local);database=csc;uid=forcool;pwd=";  
   
  string   Sql="select   *   from   upfile";    
   
   
  //创建SqlConnection对象  
  SqlConnection   thisConnection=new   SqlConnection(ConnectionString);  
  //创建DataAdaper对象并初始化  
  SqlDataAdapter   adapter=new   SqlDataAdapter(Sql,thisConnection);  
   
   
   
   
  //创建DataSet对象  
  DataSet   data=new   DataSet();  
   
   
  //创建SqlCommandBuilder对象,并和SqlDataAdapter关联  
  SqlCommandBuilder   builder=new   SqlCommandBuilder(adapter);  
   
   
  adapter.Fill(data,"upfile");  
   
   
  for(fileCount=0;fileCount<files.Count;fileCount++)  
  {  
  //定义访问客户端上传文件的个数  
  System.Web.HttpPostedFile   postedFile=files[fileCount];  
  string   fileName,fileExtension;  
  //取得上传的文件名  
  fileName=System.IO.Path.GetFileName(postedFile.FileName);  
  if   (fileName!=String.Empty)  
  {  
  //取得文件扩展名  
  fileExtension=System.IO.Path.GetExtension(fileName);  
  //上传的文件信息  
  strMsg.Append("<font   color=red><b>"+(fileCount+1)+".</b></font>");  
  strMsg.Append("上传的文件类型:"+postedFile.ContentType.ToString()+"<br>");  
  strMsg.Append("客户端文件地址:"+postedFile.FileName+"<br>");  
  strMsg.Append("上传文件的文件名:"+fileName+"<br>");  
  strMsg.Append("上传文件的扩展名:"+fileExtension+"<br>");  
  strMsg.Append("上传文件的大小:"+postedFile.ContentLength+"<br>");  
   
   
  //按当前时间(精确到毫秒)给文件命名,不取中文名,避免编码错误而无法下载或显示  
  pys_filename=DateTime.Now.Year.ToString()+DateTime.Now.Month.ToString()+DateTime.Now.Day.ToString()+DateTime.Now.Hour.ToString()+DateTime.Now.Minute.ToString()+DateTime.Now.Second.ToString()+DateTime.Now.Millisecond.ToString();  
   
  //创建随机数对象  
  Random   rnd=new   Random();  
  //调用Next方法产生随机数  
  pys_filename+=rnd.Next(1,100000).ToString();  
   
  pys_filename+="-";  
  pys_filename+=fileCount;  
  pys_filename=Request.QueryString["pysid"]+"-"+pys_filename;  
   
  pys_type=fileExtension;  
  pys_type=pys_type.ToLower();  
   
  //给缩略图宽度赋初值  
  pys_width=0;  
  //如果是图片则检查大小,如果图片过大则生成缩略图  
  if   (pys_type==".jpg"   |   pys_type==".gif"   |   pys_type==".bmp"   |   pys_type==".png")  
  {  
  pys_pic="是";  
  //取得上传图片的路径  
  imgPath=postedFile.FileName;  
  //针对选择的图片建立Image对象  
  System.Drawing.Image   image=System.Drawing.Image.FromFile(imgPath);  
  //使用Image对象的Height   and   Width属性取得图片的高度和宽度  
  strMsg.Append("上传图片的高度:"+image.Height.ToString()+"<br>");  
  strMsg.Append("上传图片的宽度:"+image.Width.ToString()+"<br>");  
  //如果上传的图片超过了100KB  
   
  if   (postedFile.ContentLength>100000   ||   image.Width>400)    
  {  
  //生成缩略图  
  System.Drawing.Image.GetThumbnailImageAbort   callb=null;  
  pys_width=(image.Height)*200/(image.Width);  
  System.Drawing.Image   newimage=image.GetThumbnailImage(200,pys_width,callb,new   System.IntPtr());  
  //保存缩略图  
  newimage.Save(Server.MapPath(""+pys_dir+"\\small-")+pys_filename+fileExtension);  
  //释放newimage对象占用的资源    
   
  //对图形压缩处理  
  pys_width=(image.Height)*400/(image.Width);    
  newimage=image.GetThumbnailImage(400,pys_width,callb,new   System.IntPtr());  
  //保存压缩图  
  newimage.Save(Server.MapPath(""+pys_dir+"\\")+pys_filename+fileExtension);  
  //释放newimage对象占用的资源  
  newimage.Dispose();  
  strMsg.Append("上传的图片大小超过了100KB,为了不影响拨号上网单位的浏览速度,已对该图生成缩略图。<br>");  
  }  
  //释放image占用的资源  
  image.Dispose();  
  }  
   
   
  strMsg.Append("<hr   size=1   color=blue>");  
   
   
  //在DataSet中添加上传的文件信息  
  DataRow   newRow=data.Tables["upfile"].NewRow();  
  newRow["pysid"]=Request["pysid"];  
  newRow["文件名称"]=fileName;  
  newRow["文件类型"]=fileExtension;  
  newRow["文件大小"]=postedFile.ContentLength;    
  newRow["文件位置"]=pys_dir+"/"+pys_filename+fileExtension;    
  if   (pys_width>0)  
  {  
  newRow["缩略图位置"]=pys_dir+"/small-"+pys_filename+fileExtension;    
  }  
  data.Tables["upfile"].Rows.Add(newRow); 

时间: 2024-09-10 11:42:01

C#图片处理的相关文章

html-c# 提取微信文章中的图片是WEBP格式,如何转成JPG格式以便能够正常显示?

问题描述 c# 提取微信文章中的图片是WEBP格式,如何转成JPG格式以便能够正常显示? 根据微信文章地址,提取到了微信文章的HTML源文件,但图片是WEBP格式,并防盗链. 请问,如何通过C#方法,把WEBP转成JPG格式用于保存在本地以便可以正常浏览? 提取到的微信图片的地址如下: http://mmbiz.qpic.cn/mmbiz/Ek7ZheM28KXya0WfIFv58aNZEBb3YSWX9iaMJHLhuz7o5xNia68MItJfDya947ibSX1HVNpy9V3iaJr

在jsp中怎么给文字加背景图片啊

问题描述 在jsp中怎么给文字加背景图片啊 动态生成的菜单 代码如下 function startParentNode(text){ //alert(text); if(""站址管理"" == text){ document.write('<table border=""0"" cellpadding=""1"" cellspacing=""0"&qu

修改Win8系统图片缺省打开方式

Win8系统中缺省采用新界面的照片应用打开图片,也就是说,即使是在Win8的传统桌面以及资源管理器中双击打开图片文件,也会自动跳转到Win8界面的照片应用中,如果有的朋友觉得不习惯,想要修改图片的缺省打开方式,方法也很简单. 在Win8资源管理器中用鼠标右键点击图片文件,从右键菜单中选择"打开方式-选择默认程序". 图示:在Win8中设置图片查看默认程序 弹出的菜单中会列出当前的一些相关程序,点选自己喜欢的程序名称即可.比如大家熟悉的Windows照片查看器.

PhotoShop打造唯美清新的风景桌面壁纸图片教程

教程将给大家讲解如何用普通风景照片制作养眼的屏幕背景. 先看一下最终效果: 1.载入风景照片,并复制产生新层. 在制作照片时我总有个习惯,我自认为是个好习惯.观察照片将对后面的作品产生什么影响,在这个照片中左边的滚石在制作完时 会影响作品的美观,这里要最大限度的做出调整.使用"滤镜>模糊>高斯模糊"如下设置: 继续复制一个层,用调用"橡皮擦"使用柔角,轻轻的在下图所示区域涂抹 在复制层,并将不透明度设置为55% 分类: PS图片处理

PS通道将图片处理为反转片负冲照片特效

反转胶片经过负冲得到的照片色彩艳丽,反差偏大,景物的红.蓝.黄三色特别夸张.反转片负冲比负片负冲在色彩方面更具表现力,其色调的夸张表现是彩色负片不及的,但在层次表现方面,反转负冲又逊色于负片负冲.反转负冲主要适用于人像摄影和部分风光照片,这两种拍摄题材在反转片负冲的表现下,反差强烈,主体突出,色彩艳丽,使照片具有了独特的魅力. 我们没有反转片,也难以实现负冲,但是我们可以用Photoshop的特效处理来模仿反转负冲的效果,其中我们会大量用到通道. 1.在Photoshop中打开一幅图片.在通道控

Photoshop打造柔美的暗调红褐色秋季美女图片

  素材图片主色也比较暗,调色的时候可以先把主色转为中性色,然后用曲线等增加暖色,再在高光区域增加一点高光,暗部增加一点冷色即可. 原图 最终效果 1.打开素材图片,创建可选颜色调整图层,对绿色进行调整,参数及效果如下图.这一步把图片中的绿色转为黄绿色. <图1> <图2> 2.创建可选颜色调整图层,对黄色,绿色进行调整,参数设置如图3,4,效果如图5.这一步给图片增加黄褐色. <图3> <图4> <图5> 3.创建色相/饱和度调整图层,对全图.

Photoshop打造甜美的青红色秋季外景美女图片

  素材图片以黄绿色为主,调色的时候需要把颜色稍微区分一下,把绿色转为淡青色,黄色转为橙红色,再把整体调柔和,人物肤色调红润即可. 原图 最终效果 1.打开素材图片,创建可选颜色调整图层,对黄色,绿色进行调整,参数设置如图1,2,效果如图3.这一步主要把图片中的绿色转为青绿色. <图1> <图2> <图3> 2.创建可选颜色调整图层,对黄.绿,白进行调整,参数设置如图4 - 6,效果如图7.这一步把图片中的黄色转为橙黄色,绿色转为青绿色. <图4> <

Photoshop打造甜美的粉红色秋季美女图片

  粉红色图片调色比较简单,过程:先微调一下颜色层次,然后直接用调色工具把主色转为红色,再慢慢把主色调淡,局部增加一点补色即可. 原图 最终效果 1.打开素材图片,创建可选颜色调整图层,对黄.绿,白进行调整,参数设置如图1 - 3,效果如图4.这一步主要把图片中的黄色调淡一点. <图1> <图2> <图3> <图4> 2.按Ctrl + J 把当前可选颜色调整图层复制一层,不透明度改为:20%,效果如下图. <图5> 3.创建色相/饱和度调整图层

Photoshop打造唯美的韩系青蓝色草地美女图片

素材图片主色为绿色,调色的时候可以把绿色直接转为青绿色或青蓝色,然后在高光区域增加一点淡蓝色,暗部增加一点暗蓝色即可. 原图 最终效果 1.打开素材图片,创建可选颜色调整图层,对绿色,白色进行调整,参数设置如图1,2,效果如图3.这一步主要把图片中的绿色转为青绿色. <图1> <图2> <图3> 2.按Ctrl + J 把当前可选颜色调整图层复制一层,不透明度改为:30%,效果如下图. <图4> 3.创建色相/饱和度调整图层,对黄色,绿色进行调整,参数及效果

Photoshop给水边的美女图片加上暗调金秋色

  素材图片主色为绿色,不过调色的时候不要一步就把主色转为橙红色,需要把稍亮的绿色转为橙黄色,其它绿色转为红褐色,然后在暗部增加一点冷色即可. 原图 最终效果 1.打开素材图片,创建可选颜色调整图层,对黄.绿.中性,黑进行调整,参数设置如图1 - 4,效果如图5.这一步给图片增加黄褐色. <图1> <图2> <图3> <图4> <图5> 2.按Ctrl + J 把当前可选颜色调整图层复制一层,不透明度改为:50%,效果如下图. <图6>