【问题标题】:Does Gdiplus::Font::Clone() duplicate the underlying TTF data?Gdiplus::Font::Clone() 是否复制底层 TTF 数据?
【发布时间】:2021-08-16 22:12:15
【问题描述】:

这是在 Visual Studio 中的 C++ MFC 应用程序的上下文中。有些窗口使用 Gdiplus。

调用Gdiplus::Font::Clone() 是复制实际的TTF 字体数据,还是只是一个管理它的小类?

我很担心,因为当我创建许多子窗口(按钮、标签等)时,我将指向父级 Gdiplus::Font 的指针传递给子级,而子级会克隆它。我希望底层字体数据只是在一个位置,并且在后台会发生某种引用计数,而不是到处都有这些东西的几十个副本。

所以我尝试了这两种方法,并没有看到内存使用的真正差异,这让我感到惊讶。这似乎有力地证明了 TTF 字体并没有真正被“克隆”,而是一些用于管理它的小型数据类正在被克隆。对吗?

【问题讨论】:

    标签: fonts gdi+


    【解决方案1】:

    Gdiplus::Font::Clone() 创建 Font 对象(即小类)的副本,而不是 TTF 字体数据。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-08-10
      • 1970-01-01
      • 2016-07-06
      • 2012-12-01
      • 2014-08-13
      • 1970-01-01
      • 2021-03-30
      • 1970-01-01
      相关资源
      最近更新 更多