这是两个输出示例:

http://imgur.com/a/ShdB0

第一个是CNN,看起来不错。没有闪光灯,但是出于我的目的,我并不在乎。

第二个页面是Font-Awesome速查表页面,位于:http://fortawesome.github.io/Font-Awesome/cheatsheet/

显然,这看起来不太好。

我感觉到有兼容性问题或时序问题,例如我可能没有在等待控件发出正确的完成信号。

以下是相关代码:

    WebBrowser wb = new WebBrowser();
    try
    {
        wb.ScrollBarsEnabled = false;
        wb.ScriptErrorsSuppressed = true;
        wb.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(wp_document_completed);
        wb.Navigate(new Uri(m_board_url));

        int n = 0;
        while ((wb.ReadyState != WebBrowserReadyState.Complete) && (n < LOOPS_TO_WAIT))
        {
            //  Also consider wb.IsBusy
            log_message(Convert.ToString((object)wb.ReadyState));
            System.Windows.Forms.Application.DoEvents();
            System.Threading.Thread.Sleep(15);
            n++;
        }
        log_message(Convert.ToString((object)wb.ReadyState));
    }
    catch (Exception e)
    {
        log_message("exception!<br>" + e.ToString());
    }


private void wp_document_completed(object sender, WebBrowserDocumentCompletedEventArgs e)
{
    WebBrowser wb = (WebBrowser)sender;
    wb.ClientSize = new Size(this.m_width, this.m_height);
    wb.ScrollBarsEnabled = false;
    wb.ScriptErrorsSuppressed = true;
    m_bitmap = new Bitmap(wb.Bounds.Width, wb.Bounds.Height);
    wb.BringToFront();
    wb.DrawToBitmap(m_bitmap, wb.Bounds);
    m_bitmap = (Bitmap)m_bitmap.GetThumbnailImage(m_thumb_width, m_thumb_height, null, IntPtr.Zero);
    m_bitmap_set = true;
}


我将不胜感激任何想法或建议。谢谢!

最佳答案

我也有问题。搜索了一段时间后,我找到了真正的解决方案。问题是webcontrol不能使用相对路径。通过为base64编码的字符串设置woff,我可以正常工作。看起来像这样:



@font-face {
  font-family: 'Ico';
  src: url('FontAwesome.eot') format('embedded-opentype');
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'Ico';
  src:  url(data:application/x-font-woff;charset=utf-8;base64,<<base64_encoded_string>>) format('woff'), url('FontAwesome.ttf')  format('truetype'), url('FontAwesome.svg#FontAwesome') format('svg');
  font-weight: normal;
  font-style: normal;
}

关于c# - 为什么我的ASP.NET中的WebBrowser控件无法正确呈现自定义图标字体?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25322472/

10-09 23:43
查看更多