gerson
2024-09-07 37179a65229455f540dc3ca62d31c4716e15d12d
src/utils/util.ts
@@ -708,3 +708,29 @@
   if (num == null) return '';
   return num.toFixed(precision).replace(/\.?0+$/, '');
};
type GetTextWidthOption = {
   size?: string;
   family?: string;
};
export function getTextWidth(text: string, option: GetTextWidthOption) {
   if (!text) return 0;
   const { size = '14px', family = 'Microsoft YaHei' } = option;
   const spanEle = document.createElement('span');
   document.body.appendChild(spanEle);
   spanEle.style.font = 'times new roman';
   spanEle.style.fontSize = size;
   spanEle.style.height = 'auto';
   spanEle.style.width = 'auto';
   spanEle.style.position = 'absolute';
   spanEle.style.whiteSpace = 'no-wrap';
   spanEle.innerHTML = text;
   const width = spanEle.clientWidth;
   document.body.removeChild(spanEle);
   return width;
}