如何使用 CefSharp 从 html 字符串创建位图?

How to create a bitmap from html string using CefSharp?

我需要使用 CefSharp.OffScreen.ChromiumWebBrowser.

从 html 字符串创建位图
var browser = new CefSharp.OffScreen.ChromiumWebBrowser(htmlString);
// what to do?
var bitmap = browser.Bitmap;

我需要做什么才能获得位图?

将 URL 而不是 html 字符串传递给 ChromiumWebBrowser 并等待浏览器完成加载 html 文件可解决此问题:

var browser = new CefSharp.OffScreen.ChromiumWebBrowser(htmlURL);

// wait the browser to finish loading the html file   
using (var waitHandle = new System.Threading.AutoResetEvent(false))
{
    EventHandler<LoadingStateChangedEventArgs> loadingHandler = null;
    loadingHandler = (sender, e) =>
    {
        if (!e.IsLoading)
        {
            if (browser != null)
            {
                browser.LoadingStateChanged -= loadingHandler;
            }
            waitHandle.Set();
        }
    };

    browser.LoadingStateChanged += loadingHandler;
    waitHandle.WaitOne();
}

var bitmap = browser.Bitmap; // bitmap not null