IOS h5利用canvas生成海报无法显示

最近在做一些H5海报项目中,苹果手机生成海报显示空白,安卓显示正常。解决方式主要从以下几点排查:

1、元素图片是否下载成功?

如果图片是从远程地址拉取,需要设置图片跨域

                                var img = new Image();
                                img.crossOrigin = 'Anonymous'; //解决跨域问题
                                img.src = newDataURL;
                                img.setAttribute("style", "width:100%;");

2、canvas生成的图片是否过大?

尝试调整canvas画布大小,建议调整为750px

                var context = canvas.getContext('2d');
                var backingStore = context.backingStorePixelRatio ||
							//context.webkitBackingStorePixelRatio ||
							context.mozBackingStorePixelRatio ||
							context.msBackingStorePixelRatio ||
							context.oBackingStorePixelRatio ||
							context.backingStorePixelRatio || 1;
 
				var ratio = (window.devicePixelRatio || 1) / backingStore;
                //var ratio = window.devicePixelRatio || 1;
                canvas.style.width = '750px';
                canvas.style.height = '1333px';
                canvas.width = 750*ratio;
                canvas.height = 1333*ratio;
                canvas.style.letterSpacing = "2px";
                console.log(ratio)
                context.scale(ratio,ratio);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值