WriteableBitmap转换到中心

本文关键字:转换 WriteableBitmap | 更新日期: 2023-09-27 18:16:38

我需要在WriteableBitmap的水平中心放置一个用户控件(在这种情况下是一个TextBlock),这是到目前为止我所使用的代码:

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

但似乎文本块的枢轴点仍然在控件的左边缘,我在哪里做错了?

WriteableBitmap转换到中心

您可以通过中心进行转换,但是TranslateTransform将中心移动与任何其他点相同的距离。这就像抓着一张纸往左移动一英寸。不管你是从哪里拿的

试试这个:

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

你可以忘记RenderTransformOrigin,除非你使用旋转/缩放/矩阵等