最近做了一个数字和图片对应转化的需求,因为产品需求的数字是特殊字体,系统默认字体需要用UI给的图片进行相应替换。注:红色字体是核心代码
letterbox.map(function(value, index, array) {
console.log('value===', value, index)
wepy.downloadFile({
url: value
}).then((res5) => {
console.log('输出的res5===', res5.tempFilePath)
index = index + 1
var letVal = index * 100
var topVal = index * 100
ctx.drawImage(res5.tempFilePath, letVal, topVal, 50, 50)
ctx.draw(true)
})
return true
})
}
下面是两种解决方案:
1.使用正则匹配替换arguments[0]存入数组
formatLetter(clockInSum, ctx) {
letterbox.map(function(value, index, array) {
console.log('value===', value, index)
wepy.downloadFile({
url: value
}).then((res5) => {
console.log('输出的res5===', res5.tempFilePath)
index = index + 1
var letVal = index * 100
var topVal = index * 100
ctx.drawImage(res5.tempFilePath, letVal, topVal, 50, 50)
ctx.draw(true)
})
return true
})
}
formatLetter(clockInSum, ctx) {
letterbox.map(function(value, index, array) {
console.log('value===', value, index)
wepy.downloadFile({
url: value
}).then((res5) => {
console.log('输出的res5===', res5.tempFilePath)
index = index + 1
var letVal = index * 100
var topVal = index * 100
ctx.drawImage(res5.tempFilePath, letVal, topVal, 50, 50)
ctx.draw(true)
})
return true
})
}
相比较而言 还是第一种正则匹配替换的方式更好一些 大家可以试试