You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Skia drawSimpleText()文本不渲染问题求助

Skia文本渲染故障排查方案

核心排查与修复步骤

  • 检查字体加载路径
    Skia在Windows下不会自动加载系统字体,需手动指定有效字体文件路径,注意使用宽字符前缀L避免编码问题:

    SkFont font(SkTypeface::MakeFromFile(L"C:/Windows/Fonts/msyh.ttc"), 48);
    
  • 对齐Skia编译配置
    对比能正常运行的HelloWorld所用编译命令,重点确认以下编译开关是否一致:

    • 启用skia_enable_legacy_font_manager
    • 包含skia_use_system_freetype、skia_use_harfbuzz等文本渲染相关组件
      确保当前项目依赖的Skia库包含完整的文本渲染模块。
  • 修正VS项目字符集设置
    在VS2022项目属性的「常规」选项中,将字符集设置为「使用 Unicode 字符集」,避免字符串传递时的编码错误导致字体加载失败。

  • 校验文本绘制逻辑
    确保绘制代码未遗漏关键步骤,示例正确写法:

    SkPaint paint;
    paint.setColor(SK_ColorBLACK);
    SkFont font(SkTypeface::MakeFromFile(L"C:/Windows/Fonts/arial.ttf"), 32);
    canvas->drawString(u8"测试文本", 100, 100, font, paint);
    

快速验证方案

  • 直接复用HelloWorld项目的Skia依赖配置(包含目录、库目录、链接库列表)到当前项目,排除配置差异问题。
  • 替换文本绘制代码为绝对路径加载系统默认字体,测试是否能正常渲染文本。

内容的提问来源于stack exchange,提问作者Maestro Maestro

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 16:44:55