WriteableBitmap Преобразовать в центр? - PullRequest
0 голосов
/ 04 декабря 2011

Мне нужно поместить пользовательский элемент управления (в данном случае TextBlock) в горизонтальный центр WriteableBitmap, вот код, с которым я прихожу до сих пор:

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

но похоже, что точка поворота текстового блока все еще находится на левом краю элемента управления, где я ошибся?

1 Ответ

0 голосов
/ 04 декабря 2011

Возможно, вы выполняете преобразование по центру, но TranslateTransform перемещает центр на то же расстояние, что и любая другая точка. Это все равно что взять лист бумаги и переместить его на дюйм влево. Неважно, где вы берете его.

Попробуйте это:

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

Вы можете забыть о RenderTransformOrigin, если вы не используете вращение / масштабирование / матрицы и т. Д.

...