意念开发创始人
意念开发创始人
  • 发布:2022-01-13 18:23
  • 更新:2022-01-13 23:24
  • 阅读:974

【报Bug】uni.canvasToTempFilePath ios app端 返回的图片为空白

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: win 10 专业版64位 18363

HBuilderX类型: 正式

HBuilderX版本号: 3.3.5

手机系统: iOS

手机系统版本号: iOS 14

手机厂商: 苹果

手机机型: iphone12

页面类型: vue

vue版本: vue2

打包方式: 云端

项目创建方式: HBuilderX

示例代码:

<canvas id="canvas" :style="{width:canvas_width+'px' ,height:canvas_height+'px' }" canvas-id="firstCanvas" ></canvas>
// 照片打水印
imageWatermark (url, canvas_id, width = 100, height = 100,content1,content2,self) {
return new Promise((resolve, reject) => {
/加上延迟 处理h5 防止为改变dome 大小就开始绘制 会出现图片显示不完整/
setTimeout(()=>{
const ctx = uni.createCanvasContext(canvas_id, self);
ctx.drawImage(url, 0, 0, width, height );
ctx.setFontSize(50)
ctx.setFillStyle('#ff0000') //水印颜色
let clientIdWidth = 10
let clientIdHeight = 50 //内容2高度
ctx.fillText(content2, clientIdWidth, clientIdHeight)
        for(let i = 1; (i-1)20 < content1.length; i++){
          let start = 18
(i-1);
          let end = 18i;
          ctx.fillText(content1.substring(start, end), 10, (50+50
i))
        }

            ctx.draw(false, () => {  
                setTimeout(() => {  
                    uni.canvasToTempFilePath({  
                        canvasId: canvas_id,  
                        destWidth:width,  
                        destHeight:height,   
                        fileType: 'jpg',  
                        quality: 0.9,  
                        success: (res) => {  
                            console.log(res)  
                            resolve(res.tempFilePath)  
                        },  
                        fail: (err) => {  
                            console.log(err,123)  
                        }  
                    }, self)  
                },500)  

            })  
        },500)  

    })  

},

操作步骤:

目前iphone6 iphone12 都试过了 都是返回空白图片

预期结果:

返回正常图片

实际结果:

返回路径 打开为空白

bug描述:

H5、安卓都能正常执行,ios端执行canvasToTempFilePath方法返回的图片路径为空白

2022-01-13 18:23 负责人:无 分享
已邀请:
意念开发创始人

意念开发创始人 (作者)

先是给图片打水印,打完水印生成图片 返回的图片是空白的 水印也没有

FullStack

FullStack - 【插件开发】【专治疑难杂症】【ios上架、马甲包、白包、过审、已成功上架过几百个】【多款插件已上架:https://ext.dcloud.net.cn/publisher?id=22130】【非诚勿扰】QQ:543610866

<canvas></canvas> 是否可以显示出来?
FullStack

FullStack - 【插件开发】【专治疑难杂症】【ios上架、马甲包、白包、过审、已成功上架过几百个】【多款插件已上架:https://ext.dcloud.net.cn/publisher?id=22130】【非诚勿扰】QQ:543610866

最后要执行ctx.draw()

该问题目前已经被锁定, 无法添加新回复