【问题标题】:Webkit interfaceWebkit 界面
【发布时间】:2011-08-12 07:06:47
【问题描述】:

我最近一直在研究 webkit HTML 离屏渲染,但我找不到一个包含 webkit DLL 的 Delphi 库。我曾尝试使用 Delphi Chromium 包,它确实“有点”工作 - 但遗憾的是有一些怪癖让我寻找替代品。

有谁知道是否有一个简洁、免费、易于使用的 Delphi 单元用于 webkit 离屏渲染?

或者是否有足够精通 Visual Studio/C++ 的人可以为其编写导入单元(您可能需要围绕 C++ 对象创建一个 C 包装器)?

【问题讨论】:

  • 我原以为让 Delphi Chromium 工作比从头开始更容易。到底有什么怪癖?
  • 为什么 webkit 是强制性的?有firefox工具包,当然还有IE。无论如何,我会看看 QT 套件,因为较新的 QT(4.6+?)提供 webkit。
  • 我的项目需要渲染为移动设备设计的界面,其中包括自定义的 webkit 样式标头。我还使用浏览器在后台渲染各种控件的位图,然后将其传输到 GUI 设计器。
  • Delphi Chromium 的问题与样式有关(请参阅 Delphi chromium 组的最新帖子),您必须调整浏览器表单的大小才能正确更新浏览器。此外,您渲染的位图基本上只是 HDC 的快照。这使得使用起来很麻烦(在不借助 JS 回调的情况下计算文档的高度可能会很棘手)。
  • 这样写会更容易哦,比如说:FWebKit.setSize(400,-1); FWebkit.Render(FFilename); FBitmap:=TBitmap.Create; FBitmap.Width:=400; FBitmap.Height:=FWebKit.RenderHeight;FWebkit.DrawTo(FBitmap,0,0);

标签: webkit delphi


【解决方案1】:

从今天开始,DCEF 能够使用 TChromiumOSR 组件进行离屏渲染。 当前 SVN 主干中有一个使用 Graphics32 油漆盒组件的演示。 要有耐心,好事需要时间。

【讨论】:

    【解决方案2】:

    使用 QT(现在包含 webkit)你显然可以:

    http://users.telenet.be/Jan.Van.hijfte/qtforfpc/fpcqt4.html

    注意:这适用于 Lazarus QT 应用程序。 (以及过去的 Kylix)。另请注意 webkit 应用内截图

    尽管如此,即使尚未准备好使用 win32/64 运行,它也可能为您提供标头基础以及如何将 WebKit 包装到 dll 中

    【讨论】:

    • Lazarus 封装了 QT,而不是 webkit。那将是矫枉过正。自己翻译 CSS 并使用 GDI+ 渲染会更快。但我想我现在会坚持使用铬,我可以在代码中做一些修复以使其正常工作
    • QT 包装器 afaik 也包装了 webkit,因为 QT 现在包含 webkit。如果你可以自己做,那么我不知道为什么这个问题是 Chromium 特有的。然后其他浏览器(有接口,尤其是 IE)也不错。
    • 是的,QT 包装器确实包装了 webkit——但是我必须运送 X 兆字节的额外 dll。问题的重点是检查是否有人有替代路线:)
    • 而且 IE 是不可能的。也许下一个版本会支持其他人都支持的东西——但我不会为了取悦微软而重写 30kb 的 JS 代码,因为其他人(Firefox 除外)都支持它。目标产品是移动端,不包括IE和firefox(可惜我自己用的是firefox)。
    猜你喜欢
    • 2014-02-09
    • 1970-01-01
    • 1970-01-01
    • 2010-11-03
    • 2014-07-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多