在使用HTML2Canvas合成图片项目中,通过不同手机测试,发现很多问题,总结一下,分享给大家。

1. 在iPhone的safari浏览器上,合成海报分享到微信,会报“网络错误,无法分享”。

解决方案:

var userAgent = navigator.userAgent.toLowerCase();
var bIsIphoneOs = userAgent.match(/iphone os/i) == "iphone os";if (bIsIphoneOs && userAgent.indexOf("safari") > -1 ) {this.imgUrl = URL.createObjectURL(this.base64ToBlob(canvas.toDataURL()))
}//base64转blob
            base64ToBlob(code) {let parts = code.split(';base64,');let contentType = parts[0].split(':')[1];let raw = window.atob(parts[1]);let rawLength = raw.length;let uInt8Array = new Uint8Array(rawLength);for (let i = 0; i < rawLength; ++i) {uInt8Array[i] = raw.charCodeAt(i);}return new Blob([uInt8Array], {type: contentType});},

2.  部分安卓手机,非微信,也有分享问题。

var bIsAndroid = userAgent.match(/android/i)== "android";var ua = navigator.userAgent.toLocaleUpperCase();var isWX = /micromessenger/i.test(ua);if(bIsAndroid && !isWX) {that.imgUrl =  URL.createObjectURL(that.base64ToBlob(canvas.toDataURL()))
}else {that.imgUrl =  canvas.toDataURL()
}

转载于:https://www.cnblogs.com/Super-scarlett/p/10856151.html

HTML2Canvas---合成海报遇到问题总结相关推荐

  1. vue-drag-resize + html2canvas合成图片并下载

    vue-drag-resize + html2canvas 合成图片并下载 可以实现图片拖动,缩放,最后合成一个图片并且下载的功能 一.下载 vue-drag-resize 和 html2canvas ...

  2. vue 中生成二维码,合成海报

    1.分别引入 qrcodejs2.html2canvas 执行以下命令行 npm install qrcodejs2 npm install html2canvas 2.下载canvas2image, ...

  3. 微信生成带参数的二维码,合成海报,扫码后推送小程序?

    微信服务号渠道二维码功能,支持生成带参数二维码,合成海报二维码,微信扫码后推送内容:结合微号帮平台48小时信息推送,推送微信小程序. 带参二维码 海报二维码 微信扫码后回复 48小时信息推送 在微号帮 ...

  4. 美食合成海报,脑洞开得有点Hold不住!!

    美食创意合成平面海报,更直接.更形象.更快速的视觉传达元素,同时也是一种大众化的视觉元素.如果说文字是最详尽的表达方式,色彩是最感性的表达方式,那么图片就是最直接.最直观的表达方式,脑洞都给你们了拿去 ...

  5. 高品质空间合成海报,让夜色更迷人

    设计一款海报,构思和想法都蛮重要,从信息归纳到版式.字体.配色方案等.在设计之前, 可以多看些同类型的优秀海报,学习构图思路和设计手法.有初步设计想法之后,就可以根据 画面需要寻找素材.当素材准备完毕 ...

  6. 商务建筑空间场景合成海报

    商务科技海报设计中合成海报占据重要的地位,很多的朋友可能对于合成海报是可望而不可 及,感觉很高大上,却又做不来! 这都不要紧,看看优图网 带来的商务建筑空间场景合成海报,PSD分层模 板,通过临摹,一 ...

  7. canvas合成海报所遇问题及解决方案总结

    最近做了一个用canvas合成海报图片的移动端项目,由于一点canvas基础都没有,所以去网上搜了一位前辈的demo,但是开发过程中遇到了很多问题,现将所遇问题及解决方法总结如下: 1.移动端canv ...

  8. 平面设计新手如何用PS制作出一张合成海报

    本文由:"学设计上兔课网"原创,图片素材来自网络,仅供学习分享 平面设计新手如何用PS制作出一张合成海报?本期教程给大家制作一张关于VR战争合成海报,从合成海报来讲我们要做到以下几 ...

  9. python图片合成海报

    记录知识点备用 功能:利用python合成海报,要求背景图上加上头像.昵称.二维码. import io import qrcode import requests from PIL import I ...

  10. 通过java实现合成海报

    1.合成海报保存到本地 public static void drawImage(double x,double y,String backgroundUrl,String qrCodeUrl,Str ...

最新文章

  1. 如何学习iphone游戏开发
  2. Oracle和Mysql获取uuid的方法对比
  3. 计算机网络及应用 pdf,计算机网络及应用卷.pdf
  4. qt撤销与回退_Qt动画框架
  5. Docker 面临的安全隐患,我们该如何应对
  6. 利用反射过滤对象的null值
  7. 产品ajax无刷新kesion,KesionCMSV6置标使用手册.doc
  8. [20190226]测试使用bbed恢复索引.txt
  9. [转]UML建模的要点总结
  10. 基于stc15f2k60s2芯片单片机编程(可调时钟)
  11. php扩展 ioncube组件的安装方法_安装IonCube Loader扩展方法
  12. 性能测试20--Analysis -- 内存与硬盘
  13. Java11新特性及代码示例
  14. dlib实现人脸识别方法
  15. IMX6UL 飞凌 LINUX 学习记录(1)
  16. java软件工程师 英文简历_java工程师英文简历范文
  17. ipqc异常处理流程图_品质异常该怎么处理?照这个流程走!
  18. Android:ping
  19. 基于 Openzeppelin 的可升级合约解决方案的注意事项
  20. 用 Python 爬取糗事百科

热门文章

  1. OpenStack Horizon 参数设置说明
  2. 公司董事长——50w年薪程序员从顶端到谷底,一个APP从启动到主页面显示经历了哪些过程
  3. 海康综合安防管理平台V1.5.100 用户添加和监控点添加。
  4. HTML5视频教程,HTML5项目实战,HTML5中文指南,HTML5使用手册
  5. 谷从何来,歌向何去——Google产品策略分析
  6. 区块链是什么?区块链投资靠谱吗?
  7. android Studio3.02的 android SDK manger在哪?
  8. 电商平台订单交易数据分析
  9. 鼠标垫测试软件,延伸阅读:鼠标垫测试+配重系统
  10. 命运之子服务器维护,天命之子国际服新人七日任务攻略 全任务要求一览