|
分類:[VB.NET/VB2005 以降]
Visual Basic 2010、.NET Framework 4.0で開発をしています。
ChartコントロールのPrePaintイベントで文字を描画しています。
このときChart自信の文字(X軸のラベル等)とDrawStringで描画した文字のフォント?が違います。
DrawStringで描画したフォントがBold指定しているわけでもないのに太くなっています。
DrawStringで描画した文字をChart自信の文字と合わせるにはどのようにしたら良いのでしょうか?
以下はテストしているソースコードです。
Imports System.Windows.Forms.DataVisualization.Charting
Public Class Form1
Private Sub Chart1_PrePaint(sender As Object, e As System.Windows.Forms.DataVisualization.Charting.ChartPaintEventArgs) Handles Chart1.PrePaint
Dim g As Graphics = e.ChartGraphics.Graphics
Dim f As Font = New Font("Microsoft Sans Serif", 10.0)
g.TextRenderingHint = System.Drawing.Text.TextRenderingHint.AntiAlias
g.DrawString("10", f, Brushes.Black, 0, 0)
f.Dispose()
End Sub
Private Sub Form1_Load(sender As Object, e As System.EventArgs) Handles Me.Load
Dim dt As New DataTable
dt.Columns.Add("SAMPLE_Y", Type.GetType("System.Int32"))
dt.Columns.Add("SAMPLE_X", Type.GetType("System.Int32"))
For i As Integer = 0 To 9
Dim row As DataRow = dt.NewRow()
row("SAMPLE_Y") = i
row("SAMPLE_X") = i
dt.Rows.Add(row)
Next
Chart1.Series.Clear()
Chart1.DataSource = dt
Dim series As New Series
With series
.Name = "X"
.XValueMember = "SAMPLE_X"
.YValueMembers = "SAMPLE_Y"
.Color = Color.Red
End With
Chart1.Series.Add(series)
End Sub
End Class
|