| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 | let windowWidth = uni.getSystemInfoSync().windowWidth// uni-app@2.9起, 屏幕最多适配到960, 超出则按375计算if (windowWidth > 960) windowWidth = 375export const rpx2px = (value) => {  if (typeof value === 'string') value = Number(value.replace(/[a-z]*/g, ''))  return windowWidth / 750 * value}export const changeUnits = (value) => {  return Number(value.replace(/^(\-*[0-9.]*)([a-z%]*)$/, (value, num, unit) => {    switch (unit) {      case 'px':        num *= 1        break      case 'rpx':        num = rpx2px(num)        break      default:        num *= 1        break    }    return num  }))}export const resolveImage = async (img, canvas, srcName = 'src', resolveName = '$resolve') => {  let imgObj  // 区分 H5 和小程序  if (window) {    imgObj = new Image()  } else {    imgObj = canvas.createImage()  }  // 成功回调  imgObj.onload = () => {    img[resolveName](imgObj)  }  // 失败回调  imgObj.onerror = (err) => {    console.error(err)    // img['$reject']()  }  // 设置src  imgObj.src = img[srcName]}// 旧版canvas引入图片的方法// export const resolveImage = async (res, img, imgName = 'src', resolveName = '$resolve') => {//   const src = img[imgName]//   const $resolve = img[resolveName]//   // #ifdef MP//   // 如果是base64就调用base64src()方法把图片写入本地, 然后渲染临时路径//   if (/^data:image\/([a-z]+);base64,/.test(src)) {//     const path = await base64src(src)//     $resolve({ ...res.detail, path })//     return//   }//   // #endif//   // 如果是本地图片, 直接返回//   if (src.indexOf('http') !== 0) {//     $resolve({ ...res.detail, path:src })//     return//   }//   // 如果是网络图片, 则通过getImageInfo()方法获取图片宽高//   uni.getImageInfo({//     src: src,//     success: (imgObj) => $resolve(imgObj),//     fail: () => console.error('API `uni.getImageInfo` 加载图片失败', src)//   })// }export function getImage(canvasId, canvas) {  return new Promise((resolve, reject) => {    uni.canvasToTempFilePath({      canvas,      canvasId,      success: res => resolve(res),      fail: err => reject(err)    }, this)  })}
 |