21

WPF では、2D グラフィックスを描画するために、LineGeometry、EllipseGeometry、GeometryGroup、Path などのクラスを使用し始めています。フリーズ機能のおかげでより高速になる可能性があるため、これらの形状を選択しました。

特定のフォントを使用して、ジオメトリとともにテキストを描画する必要があります。テキストは、ジオメトリと同じ座標系で配置可能である必要があります。そして、RotateTransform などの変換を適用できる必要があります。

最善の方法は何ですか?私は GlyphRunDrawing クラスに出くわしましたが、それは本当に複雑です。

よろしくお願いします。

4

1 に答える 1

37

テキスト ジオメトリを作成するには、FormattedText.BuildGeometry を使用します。たとえば、ポイント (5,5) で Tahoma サイズ 16 ピクセルの "表示するテキスト" のジオメトリを取得するには、次を使用します。

    FormattedText text = new FormattedText("Text to display",
        CultureInfo.CurrentCulture,
        FlowDirection.LeftToRight,
        new Typeface("Tahoma"),
        16,
        Brushes.Black);
    Geometry geometry = text.BuildGeometry(new Point(5, 5));

XAML でこれを行う必要がある場合は、このコードを MarkupExtention にまとめることができます。

于 2009-06-24T12:03:15.363 に答える