铭轩同学

铭轩,为自己代言!

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
/// <summary>
/// 根据URL 返回HTML
/// </summary>
private List<string> GetHtmlByUrl(string Url)
{
WebClient client = new WebClient();
byte[] page = client.DownloadData(Url);
string content = System.Text.Encoding.UTF8.GetString(page);
List<string> _list = GetImgUrlByHtmlText(content);
return _list;
}

 

 

/---------------------根据URL--获取图片信息--------------/

//后缀名
string _suffix = _imgurls[i].Substring(_imgurls[i].Length - 4);
//图片文件名
string _imageInputTitle = "云鼎宝贝" + DateTime.Now.ToString("yyyyMMddhhmmss" + i) + _suffix;
System.Net.HttpWebRequest webRequest = (System.Net.HttpWebRequest)System.Net.WebRequest.Create(_imgurls[i]);
webRequest.Method = "GET";
System.Net.HttpWebResponse webResponse = (System.Net.HttpWebResponse)webRequest.GetResponse();
//获取图片保存到流
System.IO.Stream _stream = webResponse.GetResponseStream();
//保存到图片
System.Drawing.Image _image = System.Drawing.Image.FromStream(_stream);

// int _picwidth = _imgWidth.Length <= 0 ? _image.Width : Convert.ToInt32(_imgWidth);
// int _picheight = _imgHeight.Length <= 0 ? _image.Height : Convert.ToInt32(_imgHeight);

//根据参数形成缩略图
//_image = _image.GetThumbnailImage(_image.Width, _image.Height, null, IntPtr.Zero);

//实例化MemoryStream
System.IO.MemoryStream _ImageMem = new System.IO.MemoryStream();

//实例化图片格式
//ImageFormat _imgFormat = new ImageFormat(new Guid());

//根据图片后缀名判断类型.
// if (_suffix.ToLower().Equals(".jpg")) _imgFormat = ImageFormat.Jpeg;
// if (_suffix.ToLower().Equals(".png")) _imgFormat = ImageFormat.Png;
// if (_suffix.ToLower().Equals(".gif")) _imgFormat = ImageFormat.Gif;

//保存
_image.Save(_ImageMem, _image.RawFormat);
//转换为字节流
byte[] _ImageBytes = _ImageMem.GetBuffer();
//释放资源
_image.Dispose();
//关闭流
_stream.Close();

 

 

 

/------------图片生成缩略图--------------?

#region  生成缩略图  
  ///<summary>  
  /// 生成缩略图  
  /// </summary>  
  /// <param name="originalImagePath">源图路径(物理路径)</param>  
  /// <param name="thumbnailPath">缩略图路径(物理路径)</param>  
  /// <param name="width">缩略图宽度</param>  
  /// <param name="height">缩略图高度</param>  
  /// <param name="mode">生成缩略图的方式</param>      
  public  void MakeThumbnail(string originalImagePath,  string thumbnailPath, int width, int height, string mode out string outthumbnailPath)  
  {  
   System.Drawing.Image originalImage =System.Drawing.Image.FromFile(originalImagePath);  
             
   int towidth = width;  
   int toheight = height;  
         
   int x = 0;  
   int y = 0;  
   int ow = originalImage.Width;  
   int oh = originalImage.Height;         
   switch (mode)  
   {          
    case "HW"://指定高宽缩放(可能变形)                  
     break;  
    case "W"://指定宽,高按比例                      
     toheight = originalImage.Height * width/originalImage.Width;  
     break;  
    case "H"://指定高,宽按比例  
     towidth = originalImage.Width * height/originalImage.Height;                      
     break;          
    case "Cut"://指定高宽裁减(不变形)                  
     if((double)originalImage.Width/(double)originalImage.Height > (double)towidth/(double)toheight)  
     {  
      oh = originalImage.Height;  
      ow = originalImage.Height*towidth/toheight;  
      y = 0;  
      x = (originalImage.Width - ow)/2;  
     }  
     else  
     {  
      ow = originalImage.Width;  
      oh = originalImage.Width*height/towidth;  
      x = 0;  
      y = (originalImage.Height - oh)/2;  
     }  
     break;                      
    default :  
     break;  
   }      
             
   //新建一个bmp图片  
   System.Drawing.Image bitmap = new System.Drawing.Bitmap(towidth,toheight); 
   //新建一个画板  
   Graphics g = System.Drawing.Graphics.FromImage(bitmap); 
   //设置高质量插值法  
   g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.High; 
   //设置高质量,低速度呈现平滑程度  
   g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality; 
   //清空画布并以透明背景色填充  
   g.Clear(Color.Transparent);         
   //在指定位置并且按指定大小绘制原图片的指定部分  
   g.DrawImage(originalImage, new Rectangle(0, 0, towidth, toheight),  
    new Rectangle(x, y, ow,oh),  
    GraphicsUnit.Pixel); 
   try  
   {              
    //以jpg格式保存缩略图  
    bitmap.Save(thumbnailPath, System.Drawing.Imaging.ImageFormat.Jpeg);  
    outthumbnailPath=thumbnailPath; 
   }  
   catch(System.Exception e)  
   {  
    throw e;  
   }  
   finally  
   {  
    originalImage.Dispose();  
    bitmap.Dispose();                          
    g.Dispose();  
   }  
  } 

 

posted on 2014-04-22 16:53  铭轩同学  阅读(1121)  评论(0编辑  收藏  举报