【问题标题】:Smallcaps / multiple fonts and bolding using 'DrawString' in GDI+在 GDI+ 中使用“DrawString”的小型大写字母/多种字体和粗体
【发布时间】:2009-03-09 05:59:18
【问题描述】:

我想用smallcaps结合不同的字体为不同的单词写一些文字。

为了澄清,我可能希望将消息“欢迎来到我们的新网站”生成为页面标题的 PNG 文件。

  • 文本将是 smallcaps - 全部大写,但“W”、“N”和“W”稍大。
  • “新网站”的字体将与文本的其余部分不同。

有没有一种方法可以在不完全手动完成的情况下做到这一点?

从概念上讲,我想做这样的事情:

 graphics.DrawString("<font size=2>W</font>ELCOME TO OUR <b><font size=2>N</font>" +
                     "EW <font size=2>W</font>EBSITE</b>");

到目前为止我能找到的最佳方法 is here,但我担心我会费尽心思手动执行此操作并最终遇到一些可怕的 kerning or tracking 问题。

编辑:我应该提到这是在 ASP.NET 中完成的,因此它需要尽可能快速和精简。我希望它是自动化的,这样我就可以轻松进行本地化,而不必创建大量的小图像。

【问题讨论】:

    标签: .net asp.net gdi+ system.drawing drawstring


    【解决方案1】:

    您似乎真的应该在这里使用 RichTextBox... 有一种方法可以从 RichTextBox 中提取位图,然后您可以将其作为位图渲染到您的图形上下文中。当然,您需要在这里进行托管 C++ 调用,我不知道您是否能够在您的项目中这样做。

    否则,我认为您将需要使用 DrawString 和 MeasureString 手动完成,这很痛苦。

    【讨论】:

    • 这是 ASP.NET :-) 我会在上面添加!
    • 好吧,我猜你的答案的第二部分是正确的 :) 我试图提高我的接受率
    猜你喜欢
    • 2021-10-14
    • 2011-02-03
    • 2017-08-11
    • 1970-01-01
    • 1970-01-01
    • 2014-01-20
    • 1970-01-01
    • 1970-01-01
    • 2011-10-21
    相关资源
    最近更新 更多