gpt4 book ai didi

c# - 在 DrawText Wpf C# 中使用自定义字体

转载 作者:行者123 更新时间:2023-11-30 20:50:06 30 4
gpt4 key购买 nike

我的项目的 Resources 文件夹中有一个自定义的 OTF 字体,它没有安装在我的 Windows 上。字体的 Build Action 已设置为 Resource

现在我想使用DrawText 方法和FormattedText 类在可视层上写一些文本。

如何为 FormattedText 使用此自定义字体。我已经知道如何使用以下代码为 XAML 中的 TextBlock 执行此操作。但是代码隐藏呢?

<TextBlock FontFamily="pack://application:,,,/Resources/#Quicksand Light"> 
StackOverflow
</TextBlock>

这是我用来定义 FormattedText 对象的代码。

var f = new FontFamily("pack://application:,,,/Resources/#Quicksand Light");
var typeface = new Typeface(f, new FontStyle(), new FontWeight(), new FontStretch());
var cultureinfo = new CultureInfo("en-us");
var ft = new FormattedText("Stackoverflow", cultureinfo, FlowDirection.LeftToRight,
typeface, 28, Brushes.White)
dc.DrawText(ft, new Point(0,0));

我的问题是定义字样的字体,以便我可以在 fotmattedtext 中使用它。

最佳答案

像这样:

var typeface = new Typeface(new FontFamily(new Uri("pack://application:,,,/"), "/Resources/#Quicksand Light"), FontStyles.Normal, FontWeights.Regular, FontStretches.Normal);

关于c# - 在 DrawText Wpf C# 中使用自定义字体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22816680/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com