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

本文关键字:字符串 创建 位图 html 何使用 CefSharp | 更新日期: 2023-09-27 18:15:01

我需要创建一个位图从html字符串使用CefSharp.OffScreen.ChromiumWebBrowser

var browser = new CefSharp.OffScreen.ChromiumWebBrowser(htmlString);
// what to do?
var bitmap = browser.Bitmap;

我要怎么做才能得到位图?

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

将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