作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 Canvas
,在 XAML 中应用了比例转换。使用 DrawingContext
我在 Canvas
上画线。我现在需要在屏幕上添加文本。我认为对于格式化文本我可以应用翻译,但格式化文本或 DrawingContext
都不接受 RenderTransform
。我如何对文本应用缩放平移,以抵消 Canvas 的缩放平移?
ftext = New FormattedText("N", CultureInfo.GetCultureInfo("en-us"), Windows.FlowDirection.LeftToRight, face, Me.DBFontSize, FalconDataBlock.Foreground)
context.DrawText(ftext, .TargetLineInfo.EndAsWinPoint)
最佳答案
在大多数 UI 应用程序中,不使用 DrawingContext,正确的做法可能是将子 TextBlock 添加到 Canvas,并更改 TextBlock 的 RenderTransform。
但是,假设您有充分的理由使用 DrawingContext,您可以使用 DrawingContext.PushTransform在调用 DrawText 之前推送您需要的变换(缩放、平移等)。使用 DrawingContext.Pop在完成 DrawText 后恢复之前的状态。
关于wpf - 如何将 Scale Translation 应用于 DrawingContext?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1099945/
我是一名优秀的程序员,十分优秀!