2016-10-26 3 views
2

CefSharp.OffScreen.ChromiumWebBrowserを使用してHTML文字列からビットマップを作成する必要があります。CefSharpを使用してhtml文字列からビットマップを作成する方法は?

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

ビットマップを取得するにはどうすればよいですか?

+0

この例のプロジェクトhttps://github.com/cefsharpがあります/CefSharp/blob/master/CefSharp.OffScreen.Example/Program.csこれはbrowser.ScreenshotAsync()を使用していましたが、とにかく私はこのチュートリアルに従ってオフスクリーンブラウザを適切に初期化することさえできませんでした –

答えて

0

ChromiumWebBrowserにURLなくHTML文字列を渡すと、ブラウザが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 
関連する問題