高通字库
版本 V1.0 · 更新于 2026-05-23

6.6 获取宽度 (简易)

简化的字符串宽度计算

获取宽度_W简易

WY_GetStringWidth 是一个简化的字符串宽度计算函数,适用于等宽字体场景。该函数假设每个字符宽度等于字号大小,适合快速估算字符串显示所需的像素宽度。

wy_string_width.c
/**
 * @brief 得到灰度文字的宽度 (W横置横排)
 *
 * @param pdata 文字数据
 * @param dot_w 文字宽度     例如:48x48大小的文字 dot_w = 48
 * @param dot_h 文字高度         例如:48x48大小的文字 dot_h = 48
 * @param gray 取值: 1 / 2 / 4
 * @return int 实际文字宽度
 */
int _get_font_width(uint8_t *pdata, uint16_t dot_w, uint16_t dot_h, uint16_t gray)
{
    uint16_t byte_w, i;
    int j, len;
    uint8_t tmp = 0;

    byte_w = ((dot_w + 7) >> 3) * gray;

    for (j = byte_w - 1; j >= 0; j--)

        if (0 != tmp)

            }

            len = ((j / gray) * 8) + ((j % gray) * 8 + (8 - i)) / gray;
            //
            if (len >= dot_h)

            return len;
        }
    }

    return dot_w;
}