顶者有分,有正解追加200: 如何解webBrowser中的html保存为TIF文件

时间:2021-03-05 05:41:07
如何解webBrowser中的html保存为TIF文件,中我目前遇到的一个困难,请高手支招,


顶者有分

47 个解决方案

#1


看看这里,或者对你有帮助

http://topic.csdn.net/u/20081212/16/46f93bfe-54b2-45f4-aed4-9ac9fee4dac5.html

#2


该回复于2011-03-14 09:29:24被版主删除

#3


先顶再说!顶完再上代码呵呵

#4


你是想做一个浏览器截图吗?

不管页面多少内容页面多长,你做一个页面的截图?

#5


如果是那样的话,我想楼主可以结贴给分了呵呵
顶者有分,有正解追加200: 如何解webBrowser中的html保存为TIF文件


http://www.codeproject.com/KB/graphics/IECapture.aspx

#6


该回复于2011-03-14 09:28:09被版主删除

#7


不要忘记给分

#8


该回复于2011-03-14 08:48:57被版主删除

#9


to : yalan  你是想做一个浏览器截图吗
--
不是作截图 

to : yalan 如果是那样的话,我想楼主可以结贴给分了呵呵
---
不希望借助于第三方在组件 ,我现在做的一个自动化模块需要实现该功能

#10


to: winsongood
--
你提供的这个我先前看过,不太理想

#11


该回复于2011-03-14 08:47:13被版主删除

#12


Form1.WebBrowser.Navigate2 "e:\test.html"
Form1.WebBrowser.ExecWB 6, 2

#13


该回复于2011-03-14 08:45:06被版主删除

#14


不知道好不好使

http://www.dreamincode.net/code/snippet3389.htm

保存的时候格式改成ImageFormat.Tiff

#15


该回复于2011-03-14 08:45:06被版主删除

#16


顶,先顶了再说。才看清楚,不是存成rtf,是tif,这种格式还是第一次听说,汗‘’‘’

#17


引用 9 楼 justin1818 的回复:
to : yalan 你是想做一个浏览器截图吗
--
不是作截图 

to : yalan 如果是那样的话,我想楼主可以结贴给分了呵呵
---
不希望借助于第三方在组件 ,我现在做的一个自动化模块需要实现该功能


不是截图怎么生成TIF格式的文件呢?
我给你的连接不是第三方控件,是源码,是方法~~~~~~~~~~~~~自己汗一下呵呵

实现截图的部分源码,看到了吗,引用的系统的user32.dll文件

[DllImport("user32.dll", CharSet=CharSet.Auto)]
public static extern IntPtr FindWindowEx(IntPtr parent /*HWND*/, 
  IntPtr next /*HWND*/, string sClassName, IntPtr sWindowTitle);

[DllImport("user32.dll", ExactSpelling=true, CharSet=CharSet.Auto)] 
public static extern IntPtr GetWindow(IntPtr hWnd, int uCmd); 

[DllImport("user32.Dll")]
public static extern void GetClassName(int h, StringBuilder s, int nMaxCount);

[DllImport("user32.dll")]
private static extern bool PrintWindow(IntPtr hwnd, IntPtr hdcBlt, uint nFlags);

public const int GW_CHILD = 5; 
public const int GW_HWNDNEXT = 2;



你说要自动采集,自己吧程序简单修改一下,输入网页地址然后在webbrowser中显示然后截图最后生成TIF不就OK了?

#18


看来要加分了,还有人来接分吗

#19


引用 18 楼 justin1818 的回复:
看来要加分了,还有人来接分吗


你能把你的要求说的更详细点吗?

#20


http://www.codeproject.com/KB/graphics/html2image.aspx

不知道我是否理解错你的意思了,再来一个将页面保存为图像的文档,请参考

#21


好,我的详细要求是这样的,
我用webBrowser加载了一个本地的html 文件,然后对将aa.txt填充到该html,
而这个html只是一个膜板,我要将填充完数据html另存为一个tif格式的文件, tif格式的文件才是用户需要的

不知道有没说清楚

#22


你的webbrowser该怎么添加生成就怎么做,完成后你生成jpg图片不就OK了(对不起没有直接生成过TIF图片而且貌似直接生成TIF比JPG麻烦一些)。

只要你能自己生成客户需要的HTML文件,保存图片参考我给你的两个连接就行了

#23


该回复于2011-03-14 11:56:56被版主删除

#24


该回复于2011-03-14 11:56:56被版主删除

#26


              到我这里都太多了、不知道LZ 还能否看到我了、我是专程过来的、帮LZ顶了!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

#27


中午抽空给你写了个完整的程序,测试无错好用!
软件截图:
顶者有分,有正解追加200: 如何解webBrowser中的html保存为TIF文件

附源代码供参考:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Drawing.Imaging;
using System.Drawing.Drawing2D;
using System.Threading;
using System.Text;
using System.Windows.Forms;
using System.Runtime.InteropServices;
using System.IO;

namespace 网页截图
{

    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private static string uri = string.Empty;


        private void Form1_Load(object sender, EventArgs e)
        {

        }

        //转至网页
        private void button3_Click(object sender, EventArgs e)
        {
            seturl();
            try
            {
                webBrowser1.Url = new Uri(uri);
            }
            catch
            {
                textBox1.BackColor = Color.Red;
                textBox1.Focus();
            }
        }
        //把网页保存为mht文件
        private void button2_Click(object sender, EventArgs e)
        {
            bool isok = SaveWebPageToMHTFile();
            if (isok)
            {
                MessageBox.Show("保存mht文件成功!");
            }
            else
            {
                MessageBox.Show("保存mht文件失败!");
            }
        }

        //url是要保存的网页地址
        //filePath是保存到的文件路径
        public static bool SaveWebPageToMHTFile()
        {
            bool result = false;
            CDO.Message msg = new CDO.MessageClass();
            ADODB.Stream stm = null;
            try
            {
                msg.MimeFormatted = true;
                msg.CreateMHTMLBody(@uri, CDO.CdoMHTMLFlags.cdoSuppressNone, "", "");
                stm = msg.GetStream();
                stm.SaveToFile(Application.StartupPath + @"\" + DateTime.Now.ToString("yyyyMMddhhmmss") + ".mht", ADODB.SaveOptionsEnum.adSaveCreateOverWrite);
                msg = null;
                stm.Close();
                result = true;
            }
            catch
            {
                result = false;
            }
            return result;
        }

        //构造带有http://的url地址
        private void seturl()
        {
            uri = textBox1.Text.Trim().ToString();
            if (uri.Length > 3)
            {
                if (uri.Substring(0, 7) != "http://")
                {
                    uri = "http://" + uri;
                    textBox1.BackColor = Color.White;
                }
            }
            else
            {
                textBox1.Focus();
                textBox1.BackColor = Color.Red;
                MessageBox.Show("请输入正确的URL地址");
            }
        }

        private void button1_Click(object sender, EventArgs e)
        {
            Thread t = new Thread(CaptureImage);
            t.SetApartmentState(ApartmentState.STA);//必须启动单元线程
            t.Start();
        }
        public void CaptureImage()
        {
            //你的任务代码
            try
            {
                GetSnap thumb = new GetSnap(uri);
                System.Drawing.Bitmap x = thumb.GetBitmap();//获取截图
                x.Save(Application.StartupPath+@"\"+DateTime.Now.ToString("yyyyMMddhhmmss") + ".tif");//保存截图到程序启动目录下
            }
            catch (Exception ex)
            {
                MessageBox.Show("截图是发生错误\n\n"+ex.ToString());
            }
        }

    }



    //网页截图类
    public class GetSnap
    {
        private string MyURL;
   
        public string WebSite
        { 
            get { return MyURL; } 
            set { MyURL = value; } 
        }

        //构造函数
        public GetSnap(string WebSite/*, int ScreenWidth, int ScreenHeight, int ImageWidth, int ImageHeight*/) 
        { 
            this.WebSite = WebSite; 
        } 
   
        public Bitmap GetBitmap() 
        {
            WebPageBitmap Shot = new WebPageBitmap(this.WebSite/*, this.ScreenWidth, this.ScreenHeight*/); 
            Shot.GetIt(); 
            //Bitmap Pic = Shot.DrawBitmap(this.ImageHeight, this.ImageWidth);
            Bitmap Pic = Shot.DrawBitmap();
            return Pic; 
        } 
    }

    class WebPageBitmap 
    { 
        WebBrowser MyBrowser; 
        string URL; 
        int Height; 
        int Width; 
   
        //类WebPageBitmap构造函数
        public WebPageBitmap(string url/*, int width, int height*/) 
        { 
            this.URL = url; 
            MyBrowser = new WebBrowser(); 
            MyBrowser.ScrollBarsEnabled = false; 
        } 
   
        public void GetIt() 
        { 
            MyBrowser.Url=new Uri(this.URL); 
            while (MyBrowser.ReadyState != WebBrowserReadyState.Complete)
            { 
                Application.DoEvents(); 
            }

            this.Height = int.Parse(MyBrowser.Document.Body.GetAttribute("scrollHeight"));
            this.Width = int.Parse(MyBrowser.Document.Body.GetAttribute("scrollwidth"));
            MyBrowser.Size = new Size(this.Width, this.Height); 
        } 
   
       public Bitmap DrawBitmap(/*int theight, int twidth*/) 
       { 
           int theight=this.Height;
           int twidth = this.Width;
            Bitmap myBitmap = new Bitmap(Width, Height); 
            Rectangle DrawRect = new Rectangle(0, 0, Width, Height); 
            MyBrowser.DrawToBitmap(myBitmap, DrawRect); 
            System.Drawing.Image imgOutput = myBitmap; 
            System.Drawing.Image oThumbNail = new Bitmap(twidth, theight, imgOutput.PixelFormat); 
            Graphics g = Graphics.FromImage(oThumbNail); 
            g.CompositingQuality = CompositingQuality.HighSpeed; 
            g.SmoothingMode = SmoothingMode.HighSpeed; 
            g.InterpolationMode = InterpolationMode.HighQualityBilinear; 
            Rectangle oRectangle = new Rectangle(0, 0, twidth, theight); 
            g.DrawImage(imgOutput, oRectangle); 
            try 
            { 
                return (Bitmap)oThumbNail; 
            } 
            catch 
            { 
               return null; 
            } 
            finally 
            { 
               imgOutput.Dispose(); 
               imgOutput = null; 
               MyBrowser.Dispose(); 
               MyBrowser = null; 
            } 
        } 
    }   //网页截图类结束

}   //截图程序结束



最简单的保存为TIF的方法:将保存的扩展名jpg/bmp改为tif即可。看图软件打开应该没问题,估计PS打不开呵呵。你自己试试吧

#28


高分~~~~眼馋啊~~~~~~自己的工作都暂时搁一边了呵呵

#29


该回复于2011-03-14 15:42:20被版主删除

#30


我是来顶的 顶者有分,有正解追加200: 如何解webBrowser中的html保存为TIF文件

#31


该回复于2011-03-14 15:42:20被版主删除

#32


查了一下MSDN,保存为TIF格式非常简单,你将我27的一段修改一下就行了,只修改红色部分即可:

//你的任务代码
try
{
   GetSnap thumb = new GetSnap(uri);
   System.Drawing.Bitmap x = thumb.GetBitmap();//获取截图
   x.Save(Application.StartupPath+@"\"+DateTime.Now.ToString("yyyyMMddhhmmss") + ".tif",ImageFormat.Tiff);//保存截图到程序启动目录下    MessageBox.Show("网页已成功截图!");
}


在".tif",后加上一句:ImageFormat.Tiff就行了,测试PS打开正常

#33


该回复于2011-03-14 16:33:45被版主删除

#34


好我来测试一下,行俺就给分了,

#35


把Table.innerHTML内容POST到服务另存

#36


楼主是不是想做个浏览器,然后截图功能?

#37


我把源程序上传了,如果拷贝的代码有问题请下载源文件

http://download.csdn.net/source/3091052

如果打开时提示找不到命名空间之类的错误,是因为保存为mht文件需要cdosys.dll组件
在你的项目右键添加引用,浏览c:\windows\system32\cdosys.dll即可解决问题。

#38


引用 37 楼 yalan 的回复:
我把源程序上传了,如果拷贝的代码有问题请下载源文件

http://download.csdn.net/source/3091052

如果打开时提示找不到命名空间之类的错误,是因为保存为mht文件需要cdosys.dll组件
在你的项目右键添加引用,浏览c:\windows\system32\cdosys.dll即可解决问题。




高手啊 

#39


该回复于2011-03-15 09:41:33被版主删除

#40


to: yalan

我运行了你的程序,效果很好,但是
1.我的visual studio.net 2005 打不开你的项目(正打算打开研究一下)
2.一定要加载 http://.... 的 url吗,可不可以是 d:\1.html (因为我只能用本地html-我的模板)

如能实现上面只点就完全符合我的要求 ,非常感谢


为了感谢大家的支持和帮助特加250分,分别开了以下三个新帖如下(我的权限一定最多给100分).
1.>  http://topic.csdn.net/u/20110315/00/9b46c940-b703-4eeb-a0bc-a65ff8e4d003.html?27764
2.> http://topic.csdn.net/u/20110315/00/6967f44d-22d3-4943-8117-2a4d25872c41.html?72476
3.> http://topic.csdn.net/u/20110315/00/befdd174-42b7-4be5-8e39-5c158c1f28e1.html

#41


系统最后提示我最多只能加50分了,看来是没多少了。 不过还感谢诸位大仙

#42


该回复于2011-03-15 08:55:13被版主删除

#43


该回复于2011-03-15 08:50:04被版主删除

#44


1,vs2005~vs2010 项目互转的方法: http://blog.163.com/wu_qihui/blog/static/914890332011069155635/

2,理论上只要webbrowser能解析并显示的地址,都行。你试一下就OK了。如果实在不行就自己架个IIS

#45


你说我现在顶,会给我分吗?
哈哈,Up!

#46


 不好意思,老少爷门们,这个帖子结了, 后来我追加了三个帖子撒分的,去报名者有份

#47


该回复于2011-03-15 15:37:30被版主删除

#1


看看这里,或者对你有帮助

http://topic.csdn.net/u/20081212/16/46f93bfe-54b2-45f4-aed4-9ac9fee4dac5.html

#2


该回复于2011-03-14 09:29:24被版主删除

#3


先顶再说!顶完再上代码呵呵

#4


你是想做一个浏览器截图吗?

不管页面多少内容页面多长,你做一个页面的截图?

#5


如果是那样的话,我想楼主可以结贴给分了呵呵
顶者有分,有正解追加200: 如何解webBrowser中的html保存为TIF文件


http://www.codeproject.com/KB/graphics/IECapture.aspx

#6


该回复于2011-03-14 09:28:09被版主删除

#7


不要忘记给分

#8


该回复于2011-03-14 08:48:57被版主删除

#9


to : yalan  你是想做一个浏览器截图吗
--
不是作截图 

to : yalan 如果是那样的话,我想楼主可以结贴给分了呵呵
---
不希望借助于第三方在组件 ,我现在做的一个自动化模块需要实现该功能

#10


to: winsongood
--
你提供的这个我先前看过,不太理想

#11


该回复于2011-03-14 08:47:13被版主删除

#12


Form1.WebBrowser.Navigate2 "e:\test.html"
Form1.WebBrowser.ExecWB 6, 2

#13


该回复于2011-03-14 08:45:06被版主删除

#14


不知道好不好使

http://www.dreamincode.net/code/snippet3389.htm

保存的时候格式改成ImageFormat.Tiff

#15


该回复于2011-03-14 08:45:06被版主删除

#16


顶,先顶了再说。才看清楚,不是存成rtf,是tif,这种格式还是第一次听说,汗‘’‘’

#17


引用 9 楼 justin1818 的回复:
to : yalan 你是想做一个浏览器截图吗
--
不是作截图 

to : yalan 如果是那样的话,我想楼主可以结贴给分了呵呵
---
不希望借助于第三方在组件 ,我现在做的一个自动化模块需要实现该功能


不是截图怎么生成TIF格式的文件呢?
我给你的连接不是第三方控件,是源码,是方法~~~~~~~~~~~~~自己汗一下呵呵

实现截图的部分源码,看到了吗,引用的系统的user32.dll文件

[DllImport("user32.dll", CharSet=CharSet.Auto)]
public static extern IntPtr FindWindowEx(IntPtr parent /*HWND*/, 
  IntPtr next /*HWND*/, string sClassName, IntPtr sWindowTitle);

[DllImport("user32.dll", ExactSpelling=true, CharSet=CharSet.Auto)] 
public static extern IntPtr GetWindow(IntPtr hWnd, int uCmd); 

[DllImport("user32.Dll")]
public static extern void GetClassName(int h, StringBuilder s, int nMaxCount);

[DllImport("user32.dll")]
private static extern bool PrintWindow(IntPtr hwnd, IntPtr hdcBlt, uint nFlags);

public const int GW_CHILD = 5; 
public const int GW_HWNDNEXT = 2;



你说要自动采集,自己吧程序简单修改一下,输入网页地址然后在webbrowser中显示然后截图最后生成TIF不就OK了?

#18


看来要加分了,还有人来接分吗

#19


引用 18 楼 justin1818 的回复:
看来要加分了,还有人来接分吗


你能把你的要求说的更详细点吗?

#20


http://www.codeproject.com/KB/graphics/html2image.aspx

不知道我是否理解错你的意思了,再来一个将页面保存为图像的文档,请参考

#21


好,我的详细要求是这样的,
我用webBrowser加载了一个本地的html 文件,然后对将aa.txt填充到该html,
而这个html只是一个膜板,我要将填充完数据html另存为一个tif格式的文件, tif格式的文件才是用户需要的

不知道有没说清楚

#22


你的webbrowser该怎么添加生成就怎么做,完成后你生成jpg图片不就OK了(对不起没有直接生成过TIF图片而且貌似直接生成TIF比JPG麻烦一些)。

只要你能自己生成客户需要的HTML文件,保存图片参考我给你的两个连接就行了

#23


该回复于2011-03-14 11:56:56被版主删除

#24


该回复于2011-03-14 11:56:56被版主删除

#25


#26


              到我这里都太多了、不知道LZ 还能否看到我了、我是专程过来的、帮LZ顶了!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

#27


中午抽空给你写了个完整的程序,测试无错好用!
软件截图:
顶者有分,有正解追加200: 如何解webBrowser中的html保存为TIF文件

附源代码供参考:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Drawing.Imaging;
using System.Drawing.Drawing2D;
using System.Threading;
using System.Text;
using System.Windows.Forms;
using System.Runtime.InteropServices;
using System.IO;

namespace 网页截图
{

    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private static string uri = string.Empty;


        private void Form1_Load(object sender, EventArgs e)
        {

        }

        //转至网页
        private void button3_Click(object sender, EventArgs e)
        {
            seturl();
            try
            {
                webBrowser1.Url = new Uri(uri);
            }
            catch
            {
                textBox1.BackColor = Color.Red;
                textBox1.Focus();
            }
        }
        //把网页保存为mht文件
        private void button2_Click(object sender, EventArgs e)
        {
            bool isok = SaveWebPageToMHTFile();
            if (isok)
            {
                MessageBox.Show("保存mht文件成功!");
            }
            else
            {
                MessageBox.Show("保存mht文件失败!");
            }
        }

        //url是要保存的网页地址
        //filePath是保存到的文件路径
        public static bool SaveWebPageToMHTFile()
        {
            bool result = false;
            CDO.Message msg = new CDO.MessageClass();
            ADODB.Stream stm = null;
            try
            {
                msg.MimeFormatted = true;
                msg.CreateMHTMLBody(@uri, CDO.CdoMHTMLFlags.cdoSuppressNone, "", "");
                stm = msg.GetStream();
                stm.SaveToFile(Application.StartupPath + @"\" + DateTime.Now.ToString("yyyyMMddhhmmss") + ".mht", ADODB.SaveOptionsEnum.adSaveCreateOverWrite);
                msg = null;
                stm.Close();
                result = true;
            }
            catch
            {
                result = false;
            }
            return result;
        }

        //构造带有http://的url地址
        private void seturl()
        {
            uri = textBox1.Text.Trim().ToString();
            if (uri.Length > 3)
            {
                if (uri.Substring(0, 7) != "http://")
                {
                    uri = "http://" + uri;
                    textBox1.BackColor = Color.White;
                }
            }
            else
            {
                textBox1.Focus();
                textBox1.BackColor = Color.Red;
                MessageBox.Show("请输入正确的URL地址");
            }
        }

        private void button1_Click(object sender, EventArgs e)
        {
            Thread t = new Thread(CaptureImage);
            t.SetApartmentState(ApartmentState.STA);//必须启动单元线程
            t.Start();
        }
        public void CaptureImage()
        {
            //你的任务代码
            try
            {
                GetSnap thumb = new GetSnap(uri);
                System.Drawing.Bitmap x = thumb.GetBitmap();//获取截图
                x.Save(Application.StartupPath+@"\"+DateTime.Now.ToString("yyyyMMddhhmmss") + ".tif");//保存截图到程序启动目录下
            }
            catch (Exception ex)
            {
                MessageBox.Show("截图是发生错误\n\n"+ex.ToString());
            }
        }

    }



    //网页截图类
    public class GetSnap
    {
        private string MyURL;
   
        public string WebSite
        { 
            get { return MyURL; } 
            set { MyURL = value; } 
        }

        //构造函数
        public GetSnap(string WebSite/*, int ScreenWidth, int ScreenHeight, int ImageWidth, int ImageHeight*/) 
        { 
            this.WebSite = WebSite; 
        } 
   
        public Bitmap GetBitmap() 
        {
            WebPageBitmap Shot = new WebPageBitmap(this.WebSite/*, this.ScreenWidth, this.ScreenHeight*/); 
            Shot.GetIt(); 
            //Bitmap Pic = Shot.DrawBitmap(this.ImageHeight, this.ImageWidth);
            Bitmap Pic = Shot.DrawBitmap();
            return Pic; 
        } 
    }

    class WebPageBitmap 
    { 
        WebBrowser MyBrowser; 
        string URL; 
        int Height; 
        int Width; 
   
        //类WebPageBitmap构造函数
        public WebPageBitmap(string url/*, int width, int height*/) 
        { 
            this.URL = url; 
            MyBrowser = new WebBrowser(); 
            MyBrowser.ScrollBarsEnabled = false; 
        } 
   
        public void GetIt() 
        { 
            MyBrowser.Url=new Uri(this.URL); 
            while (MyBrowser.ReadyState != WebBrowserReadyState.Complete)
            { 
                Application.DoEvents(); 
            }

            this.Height = int.Parse(MyBrowser.Document.Body.GetAttribute("scrollHeight"));
            this.Width = int.Parse(MyBrowser.Document.Body.GetAttribute("scrollwidth"));
            MyBrowser.Size = new Size(this.Width, this.Height); 
        } 
   
       public Bitmap DrawBitmap(/*int theight, int twidth*/) 
       { 
           int theight=this.Height;
           int twidth = this.Width;
            Bitmap myBitmap = new Bitmap(Width, Height); 
            Rectangle DrawRect = new Rectangle(0, 0, Width, Height); 
            MyBrowser.DrawToBitmap(myBitmap, DrawRect); 
            System.Drawing.Image imgOutput = myBitmap; 
            System.Drawing.Image oThumbNail = new Bitmap(twidth, theight, imgOutput.PixelFormat); 
            Graphics g = Graphics.FromImage(oThumbNail); 
            g.CompositingQuality = CompositingQuality.HighSpeed; 
            g.SmoothingMode = SmoothingMode.HighSpeed; 
            g.InterpolationMode = InterpolationMode.HighQualityBilinear; 
            Rectangle oRectangle = new Rectangle(0, 0, twidth, theight); 
            g.DrawImage(imgOutput, oRectangle); 
            try 
            { 
                return (Bitmap)oThumbNail; 
            } 
            catch 
            { 
               return null; 
            } 
            finally 
            { 
               imgOutput.Dispose(); 
               imgOutput = null; 
               MyBrowser.Dispose(); 
               MyBrowser = null; 
            } 
        } 
    }   //网页截图类结束

}   //截图程序结束



最简单的保存为TIF的方法:将保存的扩展名jpg/bmp改为tif即可。看图软件打开应该没问题,估计PS打不开呵呵。你自己试试吧

#28


高分~~~~眼馋啊~~~~~~自己的工作都暂时搁一边了呵呵

#29


该回复于2011-03-14 15:42:20被版主删除

#30


我是来顶的 顶者有分,有正解追加200: 如何解webBrowser中的html保存为TIF文件

#31


该回复于2011-03-14 15:42:20被版主删除

#32


查了一下MSDN,保存为TIF格式非常简单,你将我27的一段修改一下就行了,只修改红色部分即可:

//你的任务代码
try
{
   GetSnap thumb = new GetSnap(uri);
   System.Drawing.Bitmap x = thumb.GetBitmap();//获取截图
   x.Save(Application.StartupPath+@"\"+DateTime.Now.ToString("yyyyMMddhhmmss") + ".tif",ImageFormat.Tiff);//保存截图到程序启动目录下    MessageBox.Show("网页已成功截图!");
}


在".tif",后加上一句:ImageFormat.Tiff就行了,测试PS打开正常

#33


该回复于2011-03-14 16:33:45被版主删除

#34


好我来测试一下,行俺就给分了,

#35


把Table.innerHTML内容POST到服务另存

#36


楼主是不是想做个浏览器,然后截图功能?

#37


我把源程序上传了,如果拷贝的代码有问题请下载源文件

http://download.csdn.net/source/3091052

如果打开时提示找不到命名空间之类的错误,是因为保存为mht文件需要cdosys.dll组件
在你的项目右键添加引用,浏览c:\windows\system32\cdosys.dll即可解决问题。

#38


引用 37 楼 yalan 的回复:
我把源程序上传了,如果拷贝的代码有问题请下载源文件

http://download.csdn.net/source/3091052

如果打开时提示找不到命名空间之类的错误,是因为保存为mht文件需要cdosys.dll组件
在你的项目右键添加引用,浏览c:\windows\system32\cdosys.dll即可解决问题。




高手啊 

#39


该回复于2011-03-15 09:41:33被版主删除

#40


to: yalan

我运行了你的程序,效果很好,但是
1.我的visual studio.net 2005 打不开你的项目(正打算打开研究一下)
2.一定要加载 http://.... 的 url吗,可不可以是 d:\1.html (因为我只能用本地html-我的模板)

如能实现上面只点就完全符合我的要求 ,非常感谢


为了感谢大家的支持和帮助特加250分,分别开了以下三个新帖如下(我的权限一定最多给100分).
1.>  http://topic.csdn.net/u/20110315/00/9b46c940-b703-4eeb-a0bc-a65ff8e4d003.html?27764
2.> http://topic.csdn.net/u/20110315/00/6967f44d-22d3-4943-8117-2a4d25872c41.html?72476
3.> http://topic.csdn.net/u/20110315/00/befdd174-42b7-4be5-8e39-5c158c1f28e1.html

#41


系统最后提示我最多只能加50分了,看来是没多少了。 不过还感谢诸位大仙

#42


该回复于2011-03-15 08:55:13被版主删除

#43


该回复于2011-03-15 08:50:04被版主删除

#44


1,vs2005~vs2010 项目互转的方法: http://blog.163.com/wu_qihui/blog/static/914890332011069155635/

2,理论上只要webbrowser能解析并显示的地址,都行。你试一下就OK了。如果实在不行就自己架个IIS

#45


你说我现在顶,会给我分吗?
哈哈,Up!

#46


 不好意思,老少爷门们,这个帖子结了, 后来我追加了三个帖子撒分的,去报名者有份

#47


该回复于2011-03-15 15:37:30被版主删除