WriteableBitmap转换为中心?

时间:2011-12-03 21:01:40

标签: c# silverlight transform centering writeablebitmap

我需要在WriteableBitmap的水平中心放置一个用户控件(本例中为TextBlock),这是我到目前为止所提供的代码:

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

但看起来文本块的轴心点仍在控件的左边缘,我做错了哪里?

1 个答案:

答案 0 :(得分:0)

您可能正在通过中心进行变换,但TranslateTransform将中心移动到与任何其他点相同的距离。这就像抓一张纸并向左移动一英寸。你抓住它的地方并不重要。

试试这个:

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

除非使用旋转/缩放/矩阵等,否则您可以忘记RenderTransformOrigin。