- canvas rotate 旋转后绘制图片安卓与 IOS 表现不一致
<view> <canvas id="canvas" canvas-id="canvas" type="2d" style="width:200px;height:200px;background-color: yellow;" /> </view> Page({ onLoad() { wx.createSelectorQuery() .select('#canvas') // 在 WXML 中填入的 id .fields({ node: true, size: true }) .exec((res) => { // Canvas 对象 const canvas = res[0].node // Canvas 画布的实际绘制宽高 const renderWidth = res[0].width const renderHeight = res[0].height // Canvas 绘制上下文 const ctx = canvas.getContext('2d') // 初始化画布大小 const dpr = wx.getWindowInfo().pixelRatio canvas.width = renderWidth * dpr canvas.height = renderHeight * dpr ctx.scale(dpr, dpr) ctx.rotate((90 * Math.PI) / 180); const image = canvas.createImage(); image.onload = () => { // 顺时针旋转90度 // 开发工具与安卓正常,IOS不正常 ctx.drawImage( image, 0,0, 200, -200 ); }; image.src = 'https://th.bing.com/th/id/OIP.JuSM25g1b2eEYu-2KbGpVwHaHI?pid=ImgDet&rs=1'; }) }, }) 开发工具和安卓正常展示 [图片] IOS绘制图片失败 [图片]
2023-10-31 - canvas.createImage 使用部分特殊的图片链接无法触发onload和onerror?
如:https://p0.meituan.net/320.0/deal/5fc45a2551e62020da12c60458b36a5e621385.jpg%40320w_240h_1e_1c_1l%7Cwatermark%3D0 这种在 .jpg 后面还带一串字符的 在 wxml 使用 image 组件是能正常加载的 使用 canvas.createImage 在开发者工具上无问题,但在手机上有问题 目前我的解决办法是通过 .jpg 关键字截取字符串,把后面的去掉 这是代码片段: https://developers.weixin.qq.com/s/7u3HlHm37CsF //省略获取canvas实例的步骤 const canvas = node[0].node const img = canvas.createImage() img.onload = () => { console.log('success'); } img.onerror = () => { console.log('error'); } // 开发者工具能正常使用,在手机上无法触发onload和onerror img.src = 'https://p0.meituan.net/320.0/deal/5fc45a2551e62020da12c60458b36a5e621385.jpg%40320w_240h_1e_1c_1l%7Cwatermark%3D0' // 开发者工具和手机都能正常使用 // img.src = 'https://p0.meituan.net/320.0/deal/5fc45a2551e62020da12c60458b36a5e621385.jpg'
2021-08-20 - 你们是怎么根据报错信息定位错误代码的?
[图片] 这个错误信息找了半天,最后发现是子组件 properties 属性的 type 拼错了,不过我的属性名没有叫 “name” 的啊。
2020-07-12