2016-10-26 2 views
2

Мне нужно создать растровое изображение из строки html, используя CefSharp.OffScreen.ChromiumWebBrowser.Как создать растровое изображение из html-строки с помощью CefSharp?

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

Передача 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 

 Смежные вопросы

  • Нет связанных вопросов^_^