2016-08-04 26 views
0

Nach this answer schrieb ich einige Code-Test.Hexadezimalfarbe failling

Ich habe versucht, etwas Text mit der Farbe '903C39' (was ist so etwas wie ein roter), und zeigen Sie es im Webbrowser und nach dem Einfügen in eine Rich Text Box. Aber wenn ich schreibe:

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

den Text in grau erscheint. Aber wenn ich ein wenig die Farbe degradieren zu ‚903C30‘, dann ist die Farbe ‚rot‘ angezeigt:

colors

ist das normal?

der gesamte Code, die ich versucht ist:

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(); 

Nur ein WebBrowser und RichTextBox mit den Standardnamen haben.

+0

ist dies C# oder Standard html css – lordkain

+0

C#, sorry, ich werde es bearbeiten – Nimrrod

+1

Wer weiß? Sie verwenden nicht standardmäßigen HTML-Code. Vielleicht gibt es einen Rückfall in websichere Farben, wenn Sie so schrecklich veraltetes HTML verwenden? Es würde sicherlich einen Sinn ergeben. Haben Sie überlegt, Standard-HTML zu verwenden oder einfach nur formatierten Text in der Rich-Text-Box (RTF) zu verwenden? – Luaan

Antwort

0

Das Tag font wird von HTML5 nicht unterstützt, verwenden Sie stattdessen span. Diese

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

Aber warum endet in 39 funktioniert und nicht mit 30? Das war der wahre Grund für die Frage ... – Nimrrod

+0

@Nimrrod Ihr erstes Beispiel hat '# 903C39', und Ihr zweites hat' # 903C30'? –

+0

Ja. Und die 39 erscheinen wie ein Grau, wenn ein "Rot" sein sollte. – Nimrrod

1

ist einfach ein Ergebnis, wie der Web-Browser kodiert es ist HTML-Code in Rich-Text.

Wenn es den Rich-Text erstellt, wird eine Standard-16-Farben-Farbtabelle in den Strom RTF eingefügt {\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;}

Alle verwendeten Farben auf die nächste Farbe in dieser Farbkarte abgebildet werden. 903C30 passiert näher an rot, während 903C39 näher an der grauen ist.

Wenn Sie genaue Farben wünschen, müssen Sie den RTF-Stream direkt erstellen, ohne auf Kopieren/Einfügen von WebBrowser als Vermittler zurückgreifen zu müssen.