如:   有一个网址 XXX.com ,用asp.net 程序把这个网站的首页界面图片保存下来。

解决方案 »

  1.   


    http://www.go9go.cn/detail_6635.html我看这网站的IMG用的下面的那个地址的。http://open.thumbshots.org/image.pxf?url=www.webdianping.cn
      

  2.   

    源码下载:http://download.csdn.net/source/1391139
    可以把网页全部保存为1张图片,不管网页内容有多大,都可以
      

  3.   

    不可能 你这个已经严重违反了js的同源协议  你连网站dom的对象都得不到怎么抓取它的页面图片...
      

  4.   

    人家的服务器端可能有插件!实现了截图功能 ASP.NET调用而已
      

  5.   

    using System.Drawing.Imaging;
    using System.Drawing.Drawing2D;using System;
    using System.Drawing;using System.IO;#region (27) 根据图片路径生成一张新的图片并保存
      /// <summary>
      /// 根据图片路径生成一张新的图片并保存
      /// </summary>
      /// <param name="Url">图片来源Url</param>
      /// <param name="SavePath">图片保存路径</param>
      /// <param name="NewImgName">新文件名</param>
      public static void MakeNewImg_ByUrl(string Url,string SavePath,string NewImgName)
      {
       System.Uri myUri =new Uri(Url);//创建Uri对像以提供统一资源标符(uri)对像的表示形式和对uri各部的轻松访问
       WebRequest myWebRequest= WebRequest.Create(myUri); //发出对URI的请求
       try
       {
        WebResponse myWebResponse= myWebRequest.GetResponse();//对URI请求作出响应
        Stream str = myWebResponse.GetResponseStream(); //定义字节序列的一般视图
        
        Bitmap bmp = new Bitmap(str);
        float single1 = bmp.HorizontalResolution;//获取Image对像的水平分辨率
        float single2 = bmp.VerticalResolution; //获取Image对像的垂直分辨率
        
        Bitmap newbmp = new Bitmap(bmp.Width,bmp.Height,PixelFormat.Format32bppArgb);
        newbmp.SetResolution(single1,single2);
        
        Graphics gp = Graphics.FromImage(newbmp); //创建新的Graphics对像
        gp.Clear(Color.White);//清除整个绘图面并以指定的背景色填充
        ImageCodecInfo myImageCodecInfo; // 检索图像编码器的所有相关信息
        System.Drawing.Imaging.Encoder myEncoder;
        EncoderParameter myEncoderParameter;//值
        EncoderParameters myEncoderParameters;//数组
        myImageCodecInfo = GetEncoderInfo("image/jpeg");
        myEncoder = System.Drawing.Imaging.Encoder.Quality;
        myEncoderParameters = new EncoderParameters(1);
        myEncoderParameter = new EncoderParameter(myEncoder, 95L);
        myEncoderParameters.Param[0] = myEncoderParameter;
        //设置高质量插值法
        gp.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic;
        gp.SmoothingMode = SmoothingMode.HighQuality;//设置图片质量,指定是否将平滑处理(消除锯齿)应用于直线、曲线和已填充区域的边缘
        gp.DrawImage(bmp, 0, 0, bmp.Width,bmp.Height);//重新绘图
        gp.Dispose();
        //保存图片
        newbmp.Save(SavePath+NewImgName, myImageCodecInfo, myEncoderParameters);
        //释放资源
        bmp.Dispose();
        newbmp.Dispose();
        myWebResponse.Close();
       }
       catch
       {
        alert("生成失败!");
       }
      }
      
      //检索图像编码器的所有相关信息
      /// <summary>
      /// 检索指定格式的图像编码器的所有相关信息
      /// </summary>
      /// <param name="mimeType">图片格式类型</param>
      /// <returns>返回图像编码器的相关信息</returns>
      private static ImageCodecInfo GetEncoderInfo(String mimeType)
      {
       int j;
       ImageCodecInfo[] encoders;
       encoders = ImageCodecInfo.GetImageEncoders();
       for(j = 0; j < encoders.Length; ++j)
       {
        if(encoders[j].MimeType == mimeType)
         return encoders[j];
       }
       return null;
      }
      #endregion
    using System;
    using System.Collections.Generic;
    using System.Text;
    using System.Drawing;
    using System.IO;
    using System.Net;namespace WebCMS.WebCommon
    {
       public class JeeiImage
        {
            public static string MakeNewImg_ByUrl(string Url, string SavePath, string NewImgName)
            {
                System.Uri myUri = new Uri(Url);
                string enkuozhan = Url.Substring(Url.LastIndexOf("."));            WebClient wc = new WebClient();
                try
                {
                    wc.DownloadFile(myUri, SavePath + NewImgName + enkuozhan);
                    return "suc";
                }
                catch (Exception)
                {
                    return "生成失败!";
                }
                finally
                {
                    if (wc != null) wc.Dispose();
                }
            }
        }
    }
    http://rrun.net/content/37.html
    http://rrun.net/content/38.html
      

  6.   


    谢谢~不过你推荐的这个是 winform程序~
      

  7.   

    找了以大会,好像都是用ActiveX写的。http://blog.csdn.net/starchenzhi/archive/2009/02/08/3868846.aspx