テキストを角度を付けて描画するには、Graphics オブジェクトを使用して、テキストを回転するためのサブルーチンを作成します。
Visual Basic コードの書き方
| Visual Basic |
コードのコピー
|
|---|---|
Me.C1PrintDocument1.StartDoc()
Me.C1PrintDocument1.RenderBlockGraphicsBegin()
' グラフィックオブジェクトを宣言します。
Dim g As System.Drawing.Graphics
g = Me.C1PrintDocument1.CurrentBlockGraphics
Dim fontb = New Font("Arial", 12, FontStyle.Bold)
' テキストの角度を変更するサブルーチン。
RotateText(g, fontb, "Hello World", -45, Brushes.CadetBlue, 10, 100)
Me.C1PrintDocument1.RenderBlockGraphicsEnd()
Me.C1PrintDocument1.EndDoc()
|
|
C# コードの書き方
| C# |
コードのコピー
|
|---|---|
this.c1PrintDocument1.StartDoc();
this.c1PrintDocument1.RenderBlockGraphicsBegin();
//グラフィックオブジェクトを宣言します。
System.Drawing.Graphics g;
g = this.c1PrintDocument1.CurrentBlockGraphics;
Font fontb = new Font("Arial", 12, FontStyle.Bold);
// テキストの角度を変更するサブルーチン。
RotateText(g, fontb, "Hello World", -45, Brushes.CadetBlue, 10, 100);
this.c1PrintDocument1.RenderBlockGraphicsEnd();
this.c1PrintDocument1.EndDoc();
|
|
Visual Basic コードの書き方
| Visual Basic |
コードのコピー
|
|---|---|
Public Sub RotateText(ByVal g As Graphics, ByVal f As Font, ByVal s As String, ByVal angle As Single, ByVal b As Brush, ByVal x As Single, ByVal y As Single)
If angle > 360 Then
While angle > 360
angle = angle - 360
End While
ElseIf angle < 0 Then
While angle < 0
angle = angle + 360
End While
End If
' マトリックスを作成し、n 度回転します。
Dim myMatrix As New System.Drawing.Drawing2D.Matrix
myMatrix.Rotate(angle, Drawing2D.MatrixOrder.Append)
' 変換の適用後のテキストを画面に描画します。
g.Transform = myMatrix
g.DrawString(s, f, b, x, y)
End Sub
|
|
C# コードの書き方
| C# |
コードのコピー
|
|---|---|
public void RotateText(Graphics g, Font f, string s, Single angle, Brush b, Single x, Single y)
{
if (angle > 360)
{
while (angle > 360)
{
angle = angle - 360;
}
}
else if (angle < 0)
{
while (angle < 0)
{
angle = angle + 360;
}
}
// マトリックスを作成し、n 度回転します。
System.Drawing.Drawing2D.Matrix myMatrix = new System.Drawing.Drawing2D.Matrix();
myMatrix.Rotate(angle, System.Drawing.Drawing2D.MatrixOrder.Append);
// 変換の適用後のテキストを画面に描画します。
g.Transform = myMatrix;
g.DrawString(s, f, b, x, y);
}
|
|
このトピックの作業結果テキストが 45 度の角度で表示されます。
