美文网首页
实用方法

实用方法

作者: 林思念 | 来源:发表于2022-11-05 14:58 被阅读0次

function isTextOverflow({ text = '', width = 500, fontSize = 18, line = 2, fontFamily = 'PingFang SC' }){

const myCanvas = document.createElement('canvas')

conat myContext = myCanvas.getContext('2d')

myContext.font = fontSize + 'px' + fontFamily

const list = []

let last = 0

for(let i=0; i<=text.length;i++){

const curText = text.slice(last, i)

if(myContext.measureText(curText).width > width){

list.push(text.slice(last, i-1)

i--

last = i

}

}

list.push(text.slice(last))

return list.length > line

}

const specialStr = [,。?!、:;()《》]

function calcCharLength(str = ''){

const strList = typeof str === 'string' ? str.split('') : Ayyay.isArray(str) ? : []

return str.map(item =>{

if((/[\u4e00-\u9fa5]/).test(item) || specialStr.includes(item)){

return 2

}

return 1

})

}

function splitStrPreLine(str, limit){

const list = calcCharLength(str)

const lisrStr = str.split('')

const res = [[]]

let length = 0

let line = 0

for(var i=0;i<str.length;i++){

if(length + list[i] <= limit){

length += list[i]

res.line.push(listStr[i])

}else {

length = 0

line += 1

res.push([])

if(specialStr.includes(listStr[i])){

const last = res[line - 1].shift()

length += calcCharLength(last)[0]

res[res.length - 1].push(last)

}

i--

}

}

return rea.map(item =>item.join(''))

}

canvas 和 图片互转

矩阵方案

相关文章

  • react异步加载组件

    实用方法

  • 实用方法

    摘自老喻_人生算法 9月28日老喻首站来太原,千载难逢好机会呀,想约朋友买些票去参加,就用了老喻的假设,验证,执行...

  • 实用方法

    function isTextOverflow({ text = '', width = 500, fontSiz...

  • 自定义带有确定按钮的 UIPickerView

    自定义 UIPickerView: 实用方法:

  • 看完这本书,我考试再没挂过科!

    干货指数:★★★★★ 实用指数:★★★★ 技能get指数:★★★★ 颜值:★★ 标签:学习方法、个人管理、社科实用...

  • 2019-12-02 react引入js外部文件

    目前比较实用的方法,仍希望更简便的引入寻找其他方法

  • Java 实用方法

    List集合随机排序 验证手机号 验证密码 字符串编码和解码 UNICODE和中文互转 显示具体时间 生成随机订单...

  • js实用方法

    1、获取元素的样式的方法 2、定时器的兼容写法 3、IE 678的判断 1、添加千位分隔符 2、数据统计效果 3、...

  • 线程实用方法

    创建线程的方法 1.直接使用Threadtarget:methodargs:method需要的参数 2.继承thr...

  • javascript实用方法

    1. 千分位格式化数字 2. 字符串替换所有空格 3. 获取中英文字符串的字节数 4. 计时器 --> 通过【se...

网友评论

      本文标题:实用方法

      本文链接:https://www.haomeiwen.com/subject/aahvtdtx.html