나는 내 양식에 TextBox가 있고 아래와 같이 문자열을 그립니다.사용자 지정 그리기 텍스트 C#
Font myFont = new Font("Arial",18F,FontStyle.Regular,GraphicsUnit.Point,128);
Graphics g = myTextBox.CreateGraphics();
Brush b = new SolidBrush(Color.Red);
g.DrawString("Item Drawn with DrawString",myFont ,b,new PointF(1,1));
텍스트 상자에 표시되는 문자열. 그런 다음 코드 아래에서 시도했습니다.
Font myFont = new Font("Arial",18F,FontStyle.Regular,GraphicsUnit.Point,128);
Graphics g = myTextBox.CreateGraphics();
TextRenderer.DrawText(g,"Item Drawn with DrawText",myFont,new Point(1,1),Color.Red);
여기서 문제가 발생합니다. 두 가지 방법 g.DrawString()
과 은 동일한 글꼴을 사용하지만 두 가지 글꼴 스타일이 있습니다. 즉, 일부 문자는 다르게 렌더링됩니다. 글꼴에서 "128"대신 "1"을 사용하면 두 방법 모두 문자를 고유 한 것으로 렌더링합니다.
글꼴을 GdiCharSet(128)
값으로 변경하면 g.DrawString()
메서드를 사용하는 동안 아무 효과가 없습니다. 내 질문에 g.DrawString()
메서드는 GdiCharSet
값을 제외하는 이유는 무엇입니까? 이 때문에