请选择 进入手机版 | 继续访问电脑版
帖子
帖子
用户
博客
课程
显示全部楼层
86
帖子
0
勋章
4863
Y币

[BUG] canvas压缩生成圆型头像加密后不可用。

[复制链接]
发表于 2021-12-9 02:03:45
以下代码正式编译并启用
全局加密后不可用。

getCircle('http://www**.**/uploads/avatar/000/12/06/02_avatar_middle.jpg',108,108);
function getCircle(imgss,x,y) {
        var canvas = document.getElementById("tmpCanvas");
        var ctx = canvas.getContext('2d');
        ctx.clearRect(0, 0, canvas.width, canvas.height);//清空画布,重新画
        //加载图片
        var img = new Image()
        img.onload = function () {
                var width = x;
                var height = y;
                var circle = {
                        x: width / 2,
                        y: height / 2,
                        r: width / 2
                }
                var imgwidth = img.width;
                var imgheight = img.height;
                ctx.clearRect(0, 0, width, height);
                var scale = imgheight / imgwidth;
                var cheight = x * scale;
                //开始路径画圆,剪切处理
                ctx.save();
                ctx.beginPath();
                ctx.arc(circle.x, circle.y, circle.r, 0, Math.PI * 2, false);
                ctx.clip(); //剪切路径
                ctx.drawImage(img, 0, 0, x, cheight);
                //恢复状态
                ctx.restore();
                var image = canvas.toDataURL("image/jpg");//返回base64
                var trans = api.require('trans');
                trans.saveImage({
                        base64Str: image.split(',')[1],
                        imgPath:"fs://td776/",
                        imgName:"avatar.png"
                }, function(ret, err) {
                        if (ret.status) {
                                api.setNavBarAttr({
                                        leftButtons: [{
                                                "iconPath": "fs://td776/avatar.png",
                                        }]
                                });
                        } else {
                                alert(JSON.stringify(err));
                        }
                });
        }
        img.src = imgss;
}

86
帖子
0
勋章
4863
Y币
出现这个
Screenshot_20211209_012120_com.www.td776.jpg
86
帖子
0
勋章
4863
Y币
这些代码在apploader里很正常。在正式编译不勾选全局加密下也能正常动行。
28
帖子
1
勋章
1万+
Y币
打开页面时 allowAccessFromFile 参数传 true 试试。
86
帖子
0
勋章
4863
Y币
我使用的是openTabLayout没有allowAccessFromFile
技术咨询-Kenny · 2021-12-9 13:47打开页面时 allowAccessFromFile 参数传 true 试试。
28
帖子
1
勋章
1万+
Y币
只要是打开页面的方法都支持。
49949046 · 2021-12-9 15:11我使用的是openTabLayout没有allowAccessFromFile
86
帖子
0
勋章
4863
Y币
服务端那边也设置了跨域现在正常了。
380
帖子
4
勋章
6
Y币
OK
您需要登录后才可以回帖 登录

本版积分规则