首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DirectWrite字体拉伸

DirectWrite字体拉伸
EN

Stack Overflow用户
提问于 2018-02-26 23:38:58
回答 1查看 221关注 0票数 0

我想使用DirectWrite将字体垂直或水平拉伸x%。

我使用IDWriteTextFormat::CreateTextFormat和IDWriteFactory::CreateTextLayout和DrawTextLayout。

传递给CreateTextFormat的DWRITE_FONT_STRETCH枚举太粗糙,没有给我足够的控制权。例如,我想要的是71%的垂直压缩,而不是“半压缩”。

到目前为止,我不知道如何在没有direct2d缩放转换或使用GDI的情况下做到这一点。我宁愿避免使用GDI的LOGFONT,因为它会使我的应用程序更加复杂。

EN

回答 1

Stack Overflow用户

发布于 2018-02-27 15:24:43

使用DWRITE_FONT_STRETCH指定的字体伸展仅用于匹配过程。将其作为匹配逻辑的输入参数-您指定所需的拉伸(和其他参数),然后DirectWrite选择“最接近”的字体。严格地说,不同的拉伸值并不意味着任何不同的视觉外观,它是字体设计者指定的元数据。现在你所要求的听起来更像是可变字体,当可变字体支持拉伸轴时,你可以将其设置为允许范围内的任何值,并获得不同的渲染结果。

当然,您可以手动转换轮廓,如果您愿意,可以沿坐标轴缩放。但这也有其局限性。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48991983

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档