Поворот строкового значения в canvas с помощью WPF icanvas
Я отображаю строку с помощью метода DrawString () в интерфейсе ICanvas. Я реализовал метод DrawString (), как показано ниже
void ICanvas.DrawString( string str, float x, float y, float width, float height, HorizontalAlignment horizontalAlignment, VerticalAlignment verticalAlignment) { var ctf = _state._font._ctf; ctf.HorizontalAlignment = TMP_ConvAlignH(horizontalAlignment); ctf.VerticalAlignment = TMP_ConvAlignV(verticalAlignment); using (var layout = new CanvasTextLayout(_control, str, ctf, width, height)) { layout.SetUnderline(0,str.Length,_state._font.FontUnderline); layout.Options = CanvasDrawTextOptions.Clip; _session.DrawTextLayout(layout, x, y, _state._fontColor); } }
Мне нужно повернуть струну на определенный угол. Пожалуйста, дайте мне решение?
Что я уже пробовал:
Я попытался повернуть с помощью
Matrix3x2.CreateRotation((float)-angcur - 1.570796f) * // rotate -ang-Pi/2 Matrix3x2.CreateTranslation( (float)this.RotationCenterX + (heights[i] + tradius) * (float)Math.Cos(angcur), (float)this.RotationCenterY - (heights[i] + tradius) * (float)Math.Sin(angcur)); path.AddText(text.Substring(i, 1), font, 23, 23, m32);перед вызовом метода DrawString ().