2
Microsoft Office는 글꼴 크기를 조정할 때 매우 유용합니다. 그것들은 거의 선형 적으로 0.5 포인트 단위로 조정될 수 있습니다 (아래 이미지 참조)..NET에서 고급 글꼴 크기 조정을 수행하는 방법은 무엇입니까?
Graphics.DrawString
을 사용하여 이것을 재현하지 못했지만 글꼴 크기를 조정할 때 별개의 단계가 나타납니다.
아래 코드를 사용하면 Office에서 할 수있는만큼의 크기로 텍스트를 그릴 수 없다는 것을 알 수 있습니다. 그 중간 글꼴 크기를 그릴 수있는 방법은 무엇입니까?
Dim baseSize As Single = 16.0F
Dim inputText As String = "MMMMMMMMMMMMMM"
Dim stringFormat As Drawing.StringFormat = Drawing.StringFormat.GenericTypographic()
Dim pos As Single
Dim i As Integer
Do
Using font As Drawing.Font = New Drawing.Font("Calibri", (baseSize + i/10.0F), FontStyle.Regular, GraphicsUnit.Pixel)
Dim text As String = inputText & " " & font.Size.ToString() & "px"
Dim textSize As SizeF = e.Graphics.MeasureString(text, font, New PointF(0, 0), stringFormat)
e.Graphics.DrawString(text, font, Brushes.Black, New Drawing.RectangleF(10, pos, textSize.Width, textSize.Height), stringFormat)
pos += font.Height
End Using
i += 1
Loop While pos < ClientRectangle.Height
[Graphics.TextRenderingHint]의 다른 옵션을 사용해보십시오 (http://msdn.microsoft.com/en-us/library/system.drawing.graphics.textrenderinghint). 앤티 앨리어스 또는 ClearType 옵션이 도움이됩니다. – Codo
실제로 AntiAliasGridFit, ClearTypeGridFit 및 SingleBitPerPixel 옵션을 시도했지만 이전에는 AntiAlias를 놓쳤습니다. AntiAlias를 사용하면 트릭을 수행합니다. 감사합니다! –
추신 : 답변을 게시하고 싶다면 기꺼이 받아주세요. –