【问题标题】:How to draw a web page into a memory DC?如何将网页绘制到内存 DC 中?
【发布时间】:2010-05-17 06:57:03
【问题描述】:

我想诱使 Chrome 在我的某些内存设备上下文中呈现其选项卡。这可能吗?谢谢!

【问题讨论】:

  • 不确定 Chrome,但 Chromium 是开源的,所以只要有足够的修改,一切皆有可能

标签: c++ process google-chrome rendering gdi


【解决方案1】:

chrome.tabs 中有一个方法叫captureVisibleTab。您返回的是 PNG 或 JPEG。

http://code.google.com/chrome/extensions/tabs.html

该 API 可用于 Chrome 扩展程序 - 但您不能在未扩展的浏览器中从普通 JavaScript 调用它。我猜这是"Aviary Screen Capture" 使用的技术。

如果您有一个在其自己的进程中运行的 C++ 程序,并且您想“插入”Chrome - 有很多不可靠的方法来进行窗口挂钩和捕获。但是为什么不给自己省点麻烦呢? Chrome 基于 WebKit - 直接使用 WebKit 即可。 Qt 让它变得超级简单,例如:

http://doc.qt.nokia.com/4.6/examples-webkit.html

【讨论】:

  • 听起来不错。有些网页会有 Flash 内容,我猜 Webkit 也不能​​渲染 Flash 内容?
  • 对于以 F 开头并押韵为“Crash”的插件通常如此......您的里程可能会有所不同。但在 Qt 4.5+ 中添加了支持。 qtcentre.org/threads/…
  • 每个 webkit 容器都有一些棘手的事情。查看此目录,您可以看到所有内容(qt、wxwidgets、chromium 等)都在 WebKit 中嵌入了一些代码以使其运行:trac.webkit.org/browser/trunk/WebCore/plugins
猜你喜欢
  • 2012-07-24
  • 1970-01-01
  • 2010-12-29
  • 2013-03-23
  • 2010-12-20
  • 2010-10-11
  • 1970-01-01
  • 1970-01-01
  • 2013-02-03
相关资源
最近更新 更多