小程序
小游戏
企业微信
微信支付
扫描小程序码分享
我想完成一个压缩图片的功能,但是一直无法获得压缩后完整的图片,附代码片段
测试的时候请使用1024*1024以上大小的图片,方便观察现象
5 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
之前也遇到过这个问题,,同样大小的图片在IOS端可以正常渲染,然鹅Android只能渲染一部分。4小时过去了,,把图片调到800以下,问题解决。smile.jpg
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
你与成功可能就是差了个wx.getImageInfo
先用wx.getImageInfo获取图片的宽高,再按比例设置canvas的大小,最后绘制图片
确定canvas宽高渲染好了,再开始画
https://developers.weixin.qq.com/s/G6fTx1md7b5D
这位少侠且留步,我测试了一下你的代码片段,如果用大于1024的图片,仍然是只绘制图片的一部分 0.0
我感觉canvas的创建是正确的,因为我选择不同长宽比的图片,canvas的形状也会产生相应的变化,但图片并没有进行缩放来适应canvas的大小,选择大图片,只显示其中的一小部分,选择小图片,canvas中也会有空白
你是想画一个尽可能把canvas占满的图吗?
是的,我想先创建一个canvas,然后图片占满这个canvas,这样就完成了对图片进行压缩的功能 ,
我尝试了一些方法,比如
ctx.drawImage(tempFilePath, 0, 0, that.data.canvasWith, that.data.canvasHeight, 0, 0, that.data.imageWidth, that.data.imageHeight);
也不能把图片完整的画上去 -.-
哦哦。。你搜下代码片段
canvasWith
然后你就知道哪里不对了
代码片段不对啊
少侠,请过目!
https://developers.weixin.qq.com/s/Sma9N1md7M5U
哦,我知道了,你是最新开发工具是吧?
是的,开发者工具和基础库都是最新的
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
之前也遇到过这个问题,,同样大小的图片在IOS端可以正常渲染,然鹅Android只能渲染一部分。4小时过去了,,把图片调到800以下,问题解决。smile.jpg
你与成功可能就是差了个wx.getImageInfo
先用wx.getImageInfo获取图片的宽高,再按比例设置canvas的大小,最后绘制图片
确定canvas宽高渲染好了,再开始画
https://developers.weixin.qq.com/s/G6fTx1md7b5D
这位少侠且留步,我测试了一下你的代码片段,如果用大于1024的图片,仍然是只绘制图片的一部分 0.0
我感觉canvas的创建是正确的,因为我选择不同长宽比的图片,canvas的形状也会产生相应的变化,但图片并没有进行缩放来适应canvas的大小,选择大图片,只显示其中的一小部分,选择小图片,canvas中也会有空白
你是想画一个尽可能把canvas占满的图吗?
是的,我想先创建一个canvas,然后图片占满这个canvas,这样就完成了对图片进行压缩的功能 ,
我尝试了一些方法,比如
ctx.drawImage(tempFilePath, 0, 0, that.data.canvasWith, that.data.canvasHeight, 0, 0, that.data.imageWidth, that.data.imageHeight);
也不能把图片完整的画上去 -.-
哦哦。。你搜下代码片段
canvasWith
然后你就知道哪里不对了
代码片段不对啊
少侠,请过目!
https://developers.weixin.qq.com/s/Sma9N1md7M5U
哦,我知道了,你是最新开发工具是吧?
是的,开发者工具和基础库都是最新的