我喜欢使用 Win2D 在 UWP 应用程序中绑定(bind)的字符串的特定“宽度”来绘制文本“Hello Test Text”。
这就是我需要的原因:
<Viewbox Stretch="Uniform" Width="auto" Height="auto">
<TextBlock x:Name="txtSignaturePreview" Text="Sample Text" Foreground="White" />
</Viewbox>
使用此代码,我可以通过更改 Viewbox 的宽度来调整文本大小。 “示例文本”的字体大小会更改以适应宽度。
我喜欢用 Win2D DrawText 做同样的事情。
CanvasDrawingSession.DrawText 方法(字符串、矩形、颜色、CanvasTextFormat)
DrawText的矩形只是限制并强制文本换行。我发现实现该目标的唯一解决方案是更改字体大小并通过 CanvasTextFormat 传递它。 但是,问题是我找不到解决方案来计算出所需的字体大小和给定的字符串宽度以适应。
有什么帮助吗?
最佳答案
这是根据自己的研究更新的答案。
在与 MSFT 人员在 msdn 论坛讨论后,我确认使用当前可用的方法不可能以简单的方式实现这一点。 Win2D 不支持。
相反,我确实解决了这个问题;我根据宽度比计算字体大小。字体大小是双倍的,非常准确,到目前为止效果很好。
关于UWP Win2D 绘制指定宽度的文本?是否可以?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52212368/