Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用C#捕获特定url的图像?_C#_Image_Url_Capture - Fatal编程技术网

如何使用C#捕获特定url的图像?

如何使用C#捕获特定url的图像?,c#,image,url,capture,C#,Image,Url,Capture,如何使用C#捕获特定url的图像 我想使用C#根据特定的url自动捕获网页的图像 例如,我有一个页面包含一个txtrl.Text=“”,然后我单击一个按钮,我如何才能捕获该Url的图像?我认为只有使用C才真正可能。这是因为C#或.NET框架不提供任何类型的HTML标记呈现功能。在我看来,最接近的方法是使用WebBrowser控件,然后尝试以某种方式捕获其图形输出(即呈现的页面) 另一种方法是寻找一个可以做你想做的事情的.NET组件。。虽然我不知道有哪种方法可以做到。如果你是指网页的视觉效果,一种

如何使用C#捕获特定url的图像

我想使用C#根据特定的url自动捕获网页的图像


例如,我有一个页面包含一个txtrl.Text=“”,然后我单击一个按钮,我如何才能捕获该Url的图像?

我认为只有使用C才真正可能。这是因为C#或.NET框架不提供任何类型的HTML标记呈现功能。在我看来,最接近的方法是使用WebBrowser控件,然后尝试以某种方式捕获其图形输出(即呈现的页面)


另一种方法是寻找一个可以做你想做的事情的.NET组件。。虽然我不知道有哪种方法可以做到。

如果你是指网页的视觉效果,一种方法是将IE集成到你的应用程序中,并以编程方式截图。(用于集成web浏览器)和(用于使用C#截图)可能有用。这当然要视情况而定


另一个选项是使用用于的shotserver和shotfactory项目。可以找到它们,但我不确定是否有.NET API。

我假设您希望从ASP.NET(而不是WinForms应用程序)执行此操作

在web项目中,添加对System.Windows.Forms的引用(是的,这样做是不好的)。在代码隐藏中,您可以创建System.Windows.Forms.WebBrowser类型的对象:

WebBrowser browser = new WebBrowser();
// this will load up a URL into the web browser:
browser.Navigate(@"http://www.stackoverflow.com"); 
接下来,只需使用BitBlt API函数(抱歉,我手头没有链接)将WebBrowser控件的图形显示复制到位图(然后可以显示或保存位图或其他任何内容)。使用此函数,WebBrowser的Handle属性是要传递的参数之一


更新:这里有一些代码的链接,这些代码正是您所需要的:

Kwiboo()有一个类似的产品,你可以使用它作为web服务来获取图像。我在这里找到了一个代码:该博客提供了一个用于生成缩略图的asp.net web界面:但是我如何使用winform代码在web窗体中实现相同的功能,就像:@Mike:你可以通过添加引用在web应用程序中使用winforms代码对于System.Windows.Forms-这样做并不是一个好主意,尤其是对于一个实际会得到一些使用的网站。中的代码:适用于某些URL,不适用于其他URL。来自:的代码比上面的代码工作得更好。还是谢谢你。