diff --git a/src/index.ts b/src/index.ts index 71c88a8..a771103 100644 --- a/src/index.ts +++ b/src/index.ts @@ -13,3 +13,4 @@ export * from "./lib/CoordinateUtils"; export * from "./lib/ajax"; export * from "./lib/browser"; export * from "./lib/getJson"; +export * from "./lib/computedTextWidth"; diff --git a/src/lib/computedTextWidth.ts b/src/lib/computedTextWidth.ts new file mode 100644 index 0000000..e3fab2d --- /dev/null +++ b/src/lib/computedTextWidth.ts @@ -0,0 +1,15 @@ +let canvas: HTMLCanvasElement; + +/** + * 计算文本宽度 + * @param {string} text - 文本 + * @param {string} font - 字体 + * @returns {number} - 宽度 + */ +export function computedTextWidth(text: string, font: string) { + canvas = canvas ?? document.createElement("canvas"); + const context = canvas.getContext("2d"); + context!.font = font; + const metrics = context!.measureText(text); + return metrics.width; +}