图片处理

HttpFileCollection   MyFileColl   =   HttpContext.Current.Request.Files;     
  HttpPostedFile   MyPostedFile   
=   MyFileColl[0];     
    
  
if   (MyPostedFile.ContentType.ToString().ToLower().IndexOf("image")   <   0)     
  
{     
  Response.Write(
"无效的图形格式。");     
  
return;     
  }
     
  GetThumbNail(MyPostedFile.FileName,   
100,   100,     
  MyPostedFile.ContentType.ToString(),   
false,   MyPostedFile.InputStream);     
  }   
  
private   System.Drawing.Imaging.ImageFormat   GetImageType(object   strContentType)     
  
{     
  
if   ((strContentType.ToString().ToLower())   ==   "image/pjpeg")     
  
{     
  
return   System.Drawing.Imaging.ImageFormat.Jpeg;     
  }
     
  
else   if   ((strContentType.ToString().ToLower())   ==   "image/gif")     
  
{     
  
return   System.Drawing.Imaging.ImageFormat.Gif;     
  }
     
  
else   if   ((strContentType.ToString().ToLower())   ==   "image/bmp")     
  
{     
  
return   System.Drawing.Imaging.ImageFormat.Bmp;     
  }
     
  
else   if   ((strContentType.ToString().ToLower())   ==   "image/tiff")     
  
{     
  
return   System.Drawing.Imaging.ImageFormat.Tiff;     
  }
     
  
else   if   ((strContentType.ToString().ToLower())   ==   "image/x-icon")     
  
{     
  
return   System.Drawing.Imaging.ImageFormat.Icon;     
  }
     
  
else   if   ((strContentType.ToString().ToLower())   ==   "image/x-png")     
  
{     
  
return   System.Drawing.Imaging.ImageFormat.Png;     
  }
     
  
else   if   ((strContentType.ToString().ToLower())   ==   "image/x-emf")     
  
{     
  
return   System.Drawing.Imaging.ImageFormat.Emf;     
  }
     
  
else   if   ((strContentType.ToString().ToLower())   ==   "image/x-exif")     
  
{     
  
return   System.Drawing.Imaging.ImageFormat.Exif;     
  }
     
  
else   if   ((strContentType.ToString().ToLower())   ==   "image/x-wmf")     
  
{     
  
return   System.Drawing.Imaging.ImageFormat.Wmf;     
  }
     
  
else     
  
{     
  
return   System.Drawing.Imaging.ImageFormat.MemoryBmp;     
  }
     
  }
     
    
  
private   void   GetThumbNail(string   strFileName,   int   iWidth,   int   iheight,     
  
string   strContentType,   bool   blnGetFromFile,   System.IO.Stream   ImgStream)     
  
{     
  System.Drawing.Image   oImg;   
    
  
if   (blnGetFromFile)     
  
{     
  oImg   
=   System.Drawing.Image.FromFile(strFileName);     
  }
     
  
else     
  
{     
  oImg   
=   System.Drawing.Image.FromStream(ImgStream);     
  }
     
  oImg   
=   oImg.GetThumbnailImage(iWidth,   iheight,   null,   IntPtr.Zero);     
  
string   strGuid   =   System.Guid.NewGuid().ToString().ToUpper();     
  
string   strFileExt   =   strFileName.Substring(strFileName.LastIndexOf("."));     
  Response.ContentType   
=   strContentType;     
  MemoryStream   MemStream   
=   new   MemoryStream();     
  oImg.Save(MemStream,   GetImageType(strContentType));     
  MemStream.WriteTo(Response.OutputStream);     
  }
     
    
  }
posted @ 2007-09-06 14:04  M'  阅读(303)  评论(0编辑  收藏  举报