투명 비트 맵에 앤티 엘리 어싱 된 텍스트를 그리고 알파 블렌딩 픽셀로 그려진 앤티 엘리 어싱을 사용하고 싶습니다. 이 방법으로 비트 맵을 모든 색상 표면 (또는 이미지)에 그릴 수 있으며 앤티 엘리 어싱은 여전히 멋지게 보입니다. 여기 투명 비트 맵에서 앤티 엘리 어싱 된 텍스트
는 단순화 된 샘플은 문제를 보여주고있다 :protected override void OnPaint(PaintEventArgs e)
{
base.OnPaint(e);
Bitmap bitmap = new Bitmap(this.Width, this.Height);
Graphics g = Graphics.FromImage(bitmap);
g.Clear(Color.Empty);
g.DrawString("hello world", new Font(this.Font.FontFamily, 24), Brushes.Blue, new Point(50, 50));
e.Graphics.DrawImage(bitmap, new Point(0, 0));
}
을 그리고 여기 결과입니다
이alt text http://img194.imageshack.us/img194/9065/captureotd.png
이것의 궁극적 인 목표는 내 투명 알파 혼합 그릴 UpdateLayeredWindow 사용하는 것입니다 창문. 나는 Conky와 유사한 응용 프로그램을 만들고 있는데, ClearType 렌더링을 텍스트에 사용할 수 있기를 원합니다. (물론 앤티 엘리 어싱 없이는 쉽습니다.)
현재 양식 뒤에 화면을 가져 와서 그려 내 텍스트를 그립니다. 그것은 좋아 보이지만 업데이 트해야하고 그릴 느립니다. 데스크탑에서 텍스트 그리기를 수행하는 다른 아이디어도 환영합니다.
잘 돌아갔습니다. 고마워요! ClearType만큼 예쁘지는 않지만 ClearType (예 : Consolas) 용으로 설계된 글꼴조차도 괜찮아 보입니다. – iano
궁금해서, 나를 위해'AntiAliasGridFit'는 앤티 앨리어스가 0 인 텍스트를 생성합니다. 그러나'AntiAlias'는 효과가 있습니다. –
글꼴 크기가 너무 작 으면'AntiAliasGridFit'가 에일 리어 징 제거를하지 않을 수도 있습니다. 그러한 글꼴 크기에서,'AntiAlias'는 어쨌든 추한 결과를냅니다. –