【问题标题】:Pull image of rendered HTML from a specific browser从特定浏览器中提取呈现的 HTML 图像
【发布时间】:2011-03-01 19:14:10
【问题描述】:

我正在开发一个应用程序,该应用程序能够从特定浏览器中提取呈现的 HTML 图像。我希望用户能够选择特定的浏览器来呈现 HTML 文件,并在图像文件中捕获呈现的输出。我还想一次捕获整个 HTML 渲染,而不仅仅是当时在浏览器中可见的内容。

我从 IE8 开始,我不确定从哪里开始获取实际渲染的输出。我可以使用 Process.Start() 在该浏览器中轻松打开文件,但我不知道如何返回呈现的输出。我看过一些沉没事件,但我不明白它是如何工作的,或者这是否是正确的方法。我只是想要一些方向,也许还有一些资源可以让我走上正确的道路。

【问题讨论】:

    标签: .net image browser html-rendering


    【解决方案1】:

    你为什么要创建这个?现有的服务可以做同样的事情,比如http://browsershots.org...

    【讨论】:

    • 我知道大约有十几个基于 Web 或桌面的应用程序提供此服务,但我对它们中的每一个都感到不安(尽管我主要使用 BrowserShots),我会喜欢自己开发一个。
    • 我同意,并说“去吧。”
    【解决方案2】:

    如果您愿意依赖于能够从用户屏幕上抓取图像(当然是在同一台 PC 上运行);您应该能够通过找到浏览器窗口边界矩形来做到这一点。然后使用 Graphics.CopyFromScreen 复制屏幕上显示的像素。

    我做了一个简单的example in my answer here,它向您展示了如何截取用户屏幕的屏幕截图。应该很容易根据您的需要进行修改。

    【讨论】:

    • 我实际上想捕获整个 HTML 的渲染,而不仅仅是渲染时浏览器中可见的内容。我已经编辑了我的问题以详细说明这一点。
    【解决方案3】:

    已编辑。我以为你试图在浏览器中捕获渲染的 图像,例如 PNG、GIF 等。

    如果您想将 HTML 输出捕获为图像,我会使用 WebBrowser 控件的 DrawToBitmap 方法...虽然它不是 100% 可靠的。显然对于开源浏览器(Webkit 等)来说,这变得容易得多。

    【讨论】:

      猜你喜欢
      • 2013-09-14
      • 2018-02-28
      • 1970-01-01
      • 2021-06-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-03
      相关资源
      最近更新 更多