PDFsharp-绘制文本,围绕自定义枢轴点旋转文本并移动它

问题描述 投票:0回答:1

我想绘制一个绕x度旋转的文本。由于事实上我不围绕它的中心点旋转它,所以我也想提供一个偏移量。

首先,我围绕自定义枢轴点旋转矩形

graphics.RotateAtTransform(RotationInDegrees, pivotPoint);

而且我知道我可以使用]移动转换>

graphics.TranslateTransform(offsetX, offsetY);

但是要计算偏移量,我需要知道新的方向,所以顶部可能现在在180度的底部。

我有一个二维矢量,表示一个网格系统,其中中心在(0 | 0),左上(-1 | 1),右下(1 | -1)等。因此,基本上我可以先旋转,然后绘制文字

textFormatter.DrawString(watermarkContent, Font, Brush, textBox, Format);

绘制文本框后,我将其翻译。然后,我可以使用此计算方法来知道正确的旋转角度]

graphics.TranslateTransform(alignmentVector.X * -horizontalOffset, alignmentVector.Y * verticalOffset);

但是这是不可能的。我必须先应用转换,最后绘制。那么如何在旋转后如何正确地将水平和垂直偏移应用于矩形(通过知道正确的方向)?

我想绘制一个绕x度旋转的文本。由于事实上我不围绕它的中心点旋转它,所以我也想提供一个偏移量。首先,我将矩形围绕...

c# pdfsharp
1个回答
1
投票

转换适用于在设置转换后绘制的项目。通过稍后更改变换,可以绘制30°角的文本,绘制60°角的其他文本。

因此,您必须在绘制文本之前应用转换。转换也适用于用于绘制文本的“文本框”,无需更改该框。

© www.soinside.com 2019 - 2024. All rights reserved.