2016-08-04 2 views
0

После this answer Я написал несколько тестов кода.Шестнадцатеричный цвет обволакивания

Я попытался поместить некоторый текст с цветом «903C39» (что-то вроде красного) и показать его в веб-браузере и после вставки его в Rich Text Box. Но если я пишу:

<font color='#903C39'> Blablabla </font>

Появляется текст в серый цвет. Но если я деградировать немного цвета к «903C30», то появляется цвет «красный»:

colors

Это нормально?

Весь код, который я попытался это:

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

это C# или по умолчанию html css – lordkain

+0

C#, извините, я отредактирую его – Nimrrod

+1

Кто знает? Вы используете нестандартный HTML. Может быть, есть резерв для веб-безопасных цветов, когда вы используете такой ужасно устаревший HTML? Это, безусловно, имеет смысл. Рассматривали ли вы использование стандартного HTML или просто форматированный текст в текстовом поле с богатым текстовым полем (RTF)? – Luaan

ответ

0

Тег font не поддерживается HTML5, вместо этого используйте span.

<span style='color:#903C30'> Blablabla </span> 
+0

Но зачем заканчиваться на 39 работ, а не с 30? Это была настоящая причина вопроса ... – Nimrrod

+0

@Nimrrod Ваш первый пример имеет '# 903C39', а ваш второй имеет' # 903C30'? –

+0

Да. И 39 выглядят как серый, когда должен быть «красный». – Nimrrod

1

Это просто результат того, как веб-браузер кодирует HTML в Rich Text.

Когда он создает форматированный текст, по умолчанию 16 цветов colortable вставляются в поток RTF {\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 в качестве посредника.

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