账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    微信H5页面长按保存或发送朋友base64却是原图?
    38
    0

    我用CANVAS合成图片并把值赋值给一个img后,在微信上长按保存或发送给朋友显示的是未合成的原图?请问怎么回事儿呢?显示的的确是base64位合成图。

    这种现象只存在部分手机上,大多手机都可以正常发送保存。有时第二次就可以正常保存!~很奇怪啊!~

    请问有谁遇到过并知道解决方法嘛?如果可以请帮忙解决困扰,非常感谢!~

    代码如下:

    var pic = new Image();
    var avatar = new Image();
    var qrcode = new Image();
    pic.src = data.img_urls;  // 背景图片地址
    var ti = $('.hb_infor_title').text(); //水印文字
    
    pic.onload=function(){
        ctx.drawImage(pic,0,0);
        avatar.src = $('.hb_infor_pic img').attr('src'); //头像地址
        avatar.onload=function(){
            ctx.drawImage(avatar,20,20);
            qrcode.src = "/qrcode.php?str=<{base_encode($calc_obj["href"])}>";
            //二维码
            qrcode.onload=function(){
                ctx.shadowColor = 'rgba(0, 0, 0, 0.5)';
                ctx.shadowOffsetX = 2;
                ctx.shadowOffsetY = 2;
                ctx.shadowBlur = 2;
                ctx.fillStyle = '#ffffff';
                ctx.font = "25px microsoft yahei";
                ctx.fillText(ti,wi,he);
                ctx.drawImage(qrcode,0,0);
                var dataURL = c.toDataURL("image/png");
                var nums = $(".imgsrc"); //把base64地址赋值给这个class的img
    
                nums.attr("src",dataURL);
            }
        }
    }
    });
    1
    打赏
    收藏
    点击回答
    您的回答被采纳后将获得:提问者悬赏的 10 元积分
        全部回答
    • 0
    • 执白先行 普通会员 1楼

      微信H5页面长按保存或发送朋友base64图片,结果显示原图,可能是因为你的JavaScript代码中存在一些问题,或者是微信的服务器端代码中存在一些问题。

      首先,检查你的JavaScript代码,看看是否有错误的语法或者逻辑错误。例如,你可能在JavaScript代码中拼写错误,或者你的代码没有正确地处理异常。你也可以尝试检查你的网络连接,看看是否能正常地加载base64图片。

      其次,检查微信服务器端代码,看看是否能正确地处理base64图片。例如,你可能在服务器端代码中拼写错误,或者你的代码没有正确地处理异常。你也可以尝试查看微信的开发者文档,看看是否有相关的错误信息。

      如果你无法找到问题的原因,你也可以尝试向微信的技术支持团队求助,他们可能会提供更具体的帮助。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部