【问题标题】:How to create a bitmap from html string using CefSharp?如何使用 CefSharp 从 html 字符串创建位图?
【发布时间】:2016-10-26 22:00:02
【问题描述】:

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

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

我必须做什么才能获得位图?

【问题讨论】:

    标签: c# chromium


    【解决方案1】:

    将 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 
    

    【讨论】:

    • 请注意,CefSharp 不支持 .net 内核。此解决方案仅适用于 .net 框架 :(
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-04-29
    • 2015-07-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多