关注this answer我写了一些代码测试。
我尝试使用颜色'903C39'(类似于红色)放置一些文本,然后在Web浏览器中显示它并将其粘贴到富文本框中。但如果我写:
<font color='#903C39'> Blablabla </font>
显示灰色文本。但如果我将颜色稍微降低到'903C30',则会出现颜色'红色':
这是正常的吗?
我尝试过的所有代码都是:
string html = @"<font color='#903C30' size='1,5' face='Arial'> 903C30</font> <br> <font color='#903C39' size='1,5' face='Arial'> 903C39 </font>";
var webBrowser = new WebBrowser();
webBrowser.CreateControl(); // only if needed
webBrowser.DocumentText = html;
while (webBrowser.DocumentText != html)
Application.DoEvents();
webBrowser.Document.ExecCommand("SelectAll", false, null);
webBrowser.Document.ExecCommand("Copy", false, null);
richTextBox1.Paste();
只是拥有一个带有默认名称的webBrowser和RichTextBox。
答案 0 :(得分:1)
这只是webbrowser如何将其HTML编码为Rich Text的结果。
创建富文本时,RTF流中会插入默认的16色colortable
{\colortbl\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0;\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;\red255\green255\blue255;\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;\red128\green0\blue128;\red128\green0\blue0;\red128\green128\blue0;\red128\green128\blue128;\red192\green192\blue192;}
使用的任何颜色都映射到此颜色映射中最近的颜色。 903C30恰好接近红色而 903C39更接近灰色。
如果您想要准确的颜色,则必须直接创建RTF流,而无需借助WebBrowser中的复制/粘贴作为中介。
答案 1 :(得分:0)
HTML5不支持font
标记,而是使用span
。
<span style='color:#903C30'> Blablabla </span>