小程序
小游戏
企业微信
微信支付
扫描小程序码分享
我跟着这篇https://www.cnblogs.com/jonyellow/p/11727776.html 在小程序实现压缩图片,大小是小了,但是得到的图片不完整,画布显示的是截取的一部分图片,我需要是完整的图片,请问要怎么解决啊?ε=ε=ε=┏(゚ロ゚;)┛!!
1 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
你说的压缩图片,是把要显示的图片进行压缩,还是在canvas画图后生成的图片进行压缩?
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
saveToImg(pWidth, pHeight) {
const self = this;
wx.canvasToTempFilePath({
width: pWidth, //canvas的宽高(生成图片的范围)
heght: pHeight,
destWidth: pWidth * 2, //生成图片的大小(设置成canvas大小的二倍,保证清晰度,如果需要压缩,根据需要进行缩减)
destHeight: pHeight * 2,
canvasId: 'poster-canvas',
fileType: 'jpg',
quality: 1,
success: (res) => {
self.setData({
imgSrc: res.tempFilePath,
iswaiting: false
})
},
fail: function(res) {}
canvas保存成图片的方法,你可以参考一下
<canvas style="width: {{cWidth}}px; height: {{cHeight}}px;position:absolute;top:-9999999px; left: 0px;" canvas-id="poster-canvas"></canvas>
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
你说的压缩图片,是把要显示的图片进行压缩,还是在canvas画图后生成的图片进行压缩?
saveToImg(pWidth, pHeight) {
const self = this;
wx.canvasToTempFilePath({
width: pWidth, //canvas的宽高(生成图片的范围)
heght: pHeight,
destWidth: pWidth * 2, //生成图片的大小(设置成canvas大小的二倍,保证清晰度,如果需要压缩,根据需要进行缩减)
destHeight: pHeight * 2,
canvasId: 'poster-canvas',
fileType: 'jpg',
quality: 1,
success: (res) => {
self.setData({
imgSrc: res.tempFilePath,
iswaiting: false
})
},
fail: function(res) {}
})
},
canvas保存成图片的方法,你可以参考一下
还有,canvas不用隐藏,已经定位到看不到的地方了,加上隐藏可能也会影响最终的绘制结果
最后,style中用{}的方式设置,我没这么写过,刚才试了一下,除了宽高之外的样式都没识别出来,我这边是这么写的
<canvas style="width: {{cWidth}}px; height: {{cHeight}}px;position:absolute;top:-9999999px; left: 0px;" canvas-id="poster-canvas"></canvas>