小程序
小游戏
企业微信
微信支付
扫描小程序码分享
- 当前 Bug 的表现(可附上截图)
- 预期表现
- 复现路径
- 提供一个最简复现 Demo
在做图片上传的功能时,需要通过canvas对图片进行压缩再上传,其他机型都是可以正常压缩的,但是在iphone5s下只能截取照片的一部分,不知道这个问题怎么解决。
小米note3显示的图片
iphone5s显示的图片,只能截取左上角的部分
1 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
麻烦给个相关的代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html),我们定位下问题
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
JS:
wx.getImageInfo({
src: tempFilePaths[0],
success: function (res) {
var ctx = wx.createCanvasContext('photo_canvas');
var canvasWidth = res.width
var canvasHeight = res.height;
var str = canvasWidth / canvasHeight;
if (str > 1) {
console.log('heng')
if (canvasWidth > _this.data.screenWidth){
canvasHeight = _this.data.screenHeight;
canvasWidth = str * canvasHeight;
//横版图片
_this.setData({
canvasHeight: canvasHeight,
canvasWidth: canvasWidth,
})
} else {
}
if (canvasHeight > _this.data.screenHeight){
canvasWidth = _this.data.screenWidth;
canvasHeight = canvasWidth / str;
//竖版图片
//设置canvas尺寸
ctx.drawImage(tempFilePaths[0], 0, 0, canvasWidth, canvasHeight)
ctx.draw(true, function () {
});
WXML:
<canvas canvas-id="photo_canvas" style="width:{{canvasWidth}}px;height:{{canvasHeight}}px;position: absolute;left:0px;top:0px; "></canvas>
这样可以吗?
麻烦按照上面提供的教程来提供代码片段
代码片段:https://developers.weixin.qq.com/s/sj0Hlkm9796y
微信开发者工具显示正常,但是真机的时候显示不全,谢谢
请问 这个问题你解决了没
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
麻烦给个相关的代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html),我们定位下问题
JS:
wx.getImageInfo({
src: tempFilePaths[0],
success: function (res) {
var ctx = wx.createCanvasContext('photo_canvas');
var canvasWidth = res.width
var canvasHeight = res.height;
var str = canvasWidth / canvasHeight;
if (str > 1) {
console.log('heng')
if (canvasWidth > _this.data.screenWidth){
canvasHeight = _this.data.screenHeight;
canvasWidth = str * canvasHeight;
//横版图片
_this.setData({
canvasHeight: canvasHeight,
canvasWidth: canvasWidth,
})
} else {
_this.setData({
canvasHeight: canvasHeight,
canvasWidth: canvasWidth,
})
}
} else {
if (canvasHeight > _this.data.screenHeight){
canvasWidth = _this.data.screenWidth;
canvasHeight = canvasWidth / str;
//竖版图片
_this.setData({
canvasWidth: canvasWidth,
canvasHeight: canvasHeight,
})
} else {
_this.setData({
canvasWidth: canvasWidth,
canvasHeight: canvasHeight,
})
}
}
//设置canvas尺寸
ctx.drawImage(tempFilePaths[0], 0, 0, canvasWidth, canvasHeight)
ctx.draw(true, function () {
});
}
})
WXML:
<canvas canvas-id="photo_canvas" style="width:{{canvasWidth}}px;height:{{canvasHeight}}px;position: absolute;left:0px;top:0px; "></canvas>
这样可以吗?
麻烦按照上面提供的教程来提供代码片段
代码片段:https://developers.weixin.qq.com/s/sj0Hlkm9796y
微信开发者工具显示正常,但是真机的时候显示不全,谢谢
请问 这个问题你解决了没