0

WriteableBitmap の水平方向の中央にユーザー コントロール (この場合は TextBlock) を配置する必要があります。

textblock1.RenderTransformOrigin = new Point(0.5, 0.5);
wp.Render(textblock1, new TranslateTransform() {Y = topMargin, X = imgWidth / 2});

しかし、テキストブロックのピボット ポイントがまだコントロールの左端にあるように見えます。どこで間違ったのでしょうか?

4

1 に答える 1

0

中心で変換している可能性がありますが、TranslateTransform は中心を他の点と同じ距離だけ移動します。これは、一枚の紙をつかみ、1 インチ左に移動するようなものです。掴む場所はどこでも構いません。

これを試して:

wp.Render(textBlock1, new TranslateTransform() {Y = topMargin - textBlock1.Height / 2, X = imgWidth / 2 - textBlock1.Width / 2});

回転/スケール/マトリックスなどを使用していない限り、RenderTransformOrigin を忘れることができます。

于 2011-12-03T21:13:48.067 に答える