以下是两个输出示例:
首先是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;
}
我很感激任何想法或建议。谢谢!
答案 0 :(得分:1)
我也遇到了这个问题。经过一段时间的搜索,我找到了真正的解决方案。问题是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;
}
&#13;
答案 1 :(得分:0)
好的,我明白了。
我花了几个小时尝试不同的事情,他们似乎都表明我的代码应该正常工作。
我上床睡觉,今天起床,花了一点时间玩,当我回到原来的测试时,我正要放弃。本地页面现在运行良好。
我在这方面唯一改变的是昨晚尝试安装Font-Awesome .ttf和.eot(或其他)文件。
那些没有产生任何变化,但是当我上床睡觉时我关闭了机器。在重新启动时猜测IIS重置会以某种方式识别新字体。
Font-Awesome的网站在我的浏览器中仍然存在,我不知道为什么,但我试图在服务器主机的网页服务器上生成缩略图,我感觉安装技术只在本地工作,对我来说是完美的。
如果有人必须为远程页面执行此操作,我的感觉是通过浏览器控件安装自定义字体(或通过GDI +呈现)存在权限问题。因此,尝试运行IIS作为提升用户来测试它。
谢谢!