2016-08-04 3 views
0

this answer 다음 코드 테스트를 작성했습니다.16 진수로 표시됩니다.

색상이 '903C39'(빨간색과 비슷한 색상)의 텍스트를 넣고 웹 브라우저에 표시하고 서식있는 텍스트 상자에 붙여 넣으려고했습니다. 하지만 작성하는 경우 :

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

그냥 기본 이름을 가진 웹 브라우저와를 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을 서식있는 텍스트로 인코딩 한 결과입니다.

가 서식있는 텍스트를 생성

, 기본 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가 회색에 더 가깝습니다.

정확한 색상을 원하면 WebBrowser에서 중개자로 복사/붙여 넣기를 사용하지 않고 직접 RTF 스트림을 만들어야합니다.