如何在Delphi XE2/Firemonkey中获取ChromiumEmbedded浏览器的屏幕截图?

4

我尝试从Delphi XE2/Firemonkey的ChromiumEmbedded浏览器中获取屏幕截图,但是ChromiumFMX.MakeScreenshot方法只返回一个空位图。

有人知道如何获取位图吗?

谢谢。


1
你用的是哪个版本的Chromium?我在最新版本中找不到MakeScreenshot方法。 - TLama
MakeScreenshot是FMX的TControl组件的一部分,是TChromiumFMX的祖先。就版本而言,在ceflib.pas中找到了这个。这有用吗?CEF_REVISION = 607; COPYRIGHT_YEAR = 2012;CHROME_VERSION_MAJOR = 18; CHROME_VERSION_MINOR = 0; CHROME_VERSION_BUILD = 1025; CHROME_VERSION_PATCH = 166; - Domus
那么它不在current trunk中。整个项目中甚至没有关键词Screenshot的任何内容。 - TLama
我本以为这个问题已经被TControl解决了,但显然它不能与TChromiumFMX一起使用。 - Domus
1
很遗憾TControl.MakeScreenshot不是虚拟的;否则你可以使用Domus的答案进行重写。 - Martijn
1个回答

4

相反,使用以下代码(请确保在调用此代码之前实例化 YourBitmap):

CefGetBitmap(ChromiumFMX.Browser, PET_VIEW, YourBitmap);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接