画布的宽高是变量设置的,图片绘制为啥不拿这些变量去做逻辑,而是去获取画布对象再取的宽高做逻辑?画布宽高setData的后续逻辑写到setData的回调里头,毕竟有发生页面渲染的动作。另外代码片段的链接在哪里?
canvas绘制图片,传入绘制的宽高无法正确拉伸?canvs绘制图片画布大小为动态设置,然后让图片拉伸填满画布,代码片段上宽度正确拉伸,高度无法正确拉伸,画布大小不动态设置可以正确拉伸,正式项目中宽高都不能正确拉伸,画布大小写死也是如此。但是正式项目只有绘制图片时传入小于画布大小很多才能正确拉伸。 代码片段代码: init(res) { const width = res[0].width const height = res[0].height const canvas = res[0].node const ctx = canvas.getContext('2d') const img = canvas.createImage() console.log(width,height); img.src = 'mapc.png' img.onload = () => { this._img = img ctx.drawImage(img, 0, 0, width, height) } // console.log(this._img); }, /** * 生命周期函数--监听页面显示 */ onShow() { this.setData({ w:300, h:200 }) wx.createSelectorQuery() .select('#canvas') .fields({ node: true, size: true, }) .exec(this.init.bind(this)) }, html代码 <image src="./mapc.png"></image> <canvas type="2d" id="canvas" style="width: {{w}}px; height: {{h}}px;" ></canvas> 效果如下: [图片]动态设置画布大小,高度无法正确拉伸 [图片]画布大小设置写死300x300正确拉伸 正式项目代码: drawMap (params) { wx.createSelectorQuery() .select('#canvas') .fields({ node: true, size: true, }) .exec(this.init.bind(this)) }, init(res){ console.log(res); const width = res[0].width const height = res[0].height const canvas = res[0].node const ctx = canvas.getContext('2d') const img = canvas.createImage() img.src = '../../assets/image/mapc.png' img.onload = () => { this._img = img console.log(img.width); console.log(this._img); console.log(width,height); ctx.drawImage(img,0,0,width,height) } }, /** * 生命周期函数--监听页面显示 */ onShow: function () { let that = this let query = wx.createSelectorQuery() query.select(".map").boundingClientRect(res=>{ console.log(res); that.setData({ imgT:res.top, imgL:res.left, imgW:res.width, imgH:res.height, }) this.drawMap() }).exec() }, html代码 <canvas id="canvas" style="width: {{imgW}}px; height: {{imgH}}px;" type="2d" canvas-id="canvas"></canvas> 效果如下: [图片]动态设置画布大小 [图片]画布设置414x240其他不变 [图片]画布大小设置414x240,绘制大小传入300x100
2022-04-27看着没有大文件,就是项目太依赖ui组件或者插件了,加起来都1.12Mb了,像选择器,日历这种我都是自己做的,先看看这些东西有没有按需加载,真没法就去掉一部分然后自己写吧,减少代码量
uni-modules导致主包过大,请问怎么解决?小程序已经用了分包机制,但是主包显示过大。[图片]
2022-04-27用touch事件实现,可触面积过大的话要考虑上下滑动是否会影响列表的滚动
touchStart 和 touchEnd 的 使用疑问?商品列表 ,既有上下滑动 也有左右滑动 。左右滑动用的是 touchStart 和 touchEnd 原理是:记录 touchStart 起始点的 X和 Y坐标 然后 记录 touchEnd起始点的 X和 Y坐标 两者比较判断是否满足滑动。 在真机测试的时候 发现 一个很有趣的事情 滑动结束的时候 两者的Y坐标相差无几 ,即使动作幅度很大 也是如此。仅仅Y坐标,X坐标正常。 出现这种情况的时候 画面都是随着手指有移动的现象。 所以我猜测 是因为画面随着手指一起移动 ,Y坐标其实没有变化 。 不管我的动作幅度有多大 ,touchEnd所记录的坐标 其实就是我的起始坐标,因为页面已经随着我的手指一起移动。而ttouchStart 和 touchEnd记录的都是页面的坐标位置 。 所以 用touchStart 和 touchEnd 来做左右滑动 此路不通 。我用的是华为畅玩7做的测试 。其他机型没试过。 所以准备变通一下 。 并向各位请教 上下滑和左右滑 都实现的话 用什么来做?
2022-04-26写上width:100%,height:100%,不然就是默认宽高
view包含image组件,image不能压缩或者拉伸?感觉 scaleToFill没有生效 [图片][图片]
2022-04-26之前我也这样写,升级开发工具后就不行了,这跟基础库还没关系,用个变量赋值上去再写上去吧 [图片]
想问一下,初始化云开发环境的代码块与下面的require()代码怎么放才不会报错?[图片]
2022-04-25看看坐标是不是空值或者不合法
map 地图 渲染失败 是空白界面[图片] 进入界面,第一次是成功渲染地图,可是 返回 第一次 上一页在回来就失败了渲染就是界面空白。。。在第二次返回重进 就成功渲染,前四五次都是这样 一次成功一次失败。反复多次后,就基本稳定都是成功了。 好奇怪,开发工具和真机里都是这样,渲染成功率不稳定。
2022-04-25要求这么高的吗?民用精度好像是10米吧,这得看硬件设备的
微信小程序的GPS接口定位精度有多少?能精确到1米级别的吗?
2022-04-24又是你呀,今天看你提的问题,我真劝你报个班上下课吧,没有基础的知识和概念这么弄是没啥效率的呀。首先运算的位置上面是异步,哪来的数据得出结果,其次你这数字运算要求参与计算的参数是Number类型,除数不为零呀,再者js要处理浮点数运算的,不是toFixed就结束了的
通过数据库获取的变量 赋值给数组计算后结果显示Nan怎么处理?[图片] 通过数据库获取了defaultProportion和todayPrice字段的值赋值给了相应的字段,并进行了计算 在通过eonsman展示,但是展示的结果时NaN,这个问题应该如何解决?
2022-04-24你打开小程序查一下认证主体,是你们的就内部自己解决,不是人家的信息怎么会透露给你
如何查询小程序管理员?目前本人运营的公众号湘江基金小镇(原始ID:gh_367e1185feb1)正在办理公众号迁移手续 但迁移过程中发现,有一个同样名为湘江基金小镇(原始ID:gh_72d22def7220)的小程序占用了“湘江基金小镇”这一名称,导致迁移不成功。 我们想查证小程序湘江基金小镇(原始ID:gh_72d22def7220)的管理者是谁,是不是注销了这个小程序,我们的公众号就能成功迁移?
2022-04-24参数的默认值,也是默认参数的数据类型,参数undefined按这个走,所以指定为空对象目的是options.xxx时不报错
onload里面的参数这样写是什么意思?onLoad(options = {}) 谢谢
2022-04-24