html5画布中微信海报的示例分析

  介绍

这篇文章主要介绍了html5画布中微信海报的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获、下面让小编带着大家一起了解一下。

本文介绍了画布上微信海报分享,分享给大家,具体如下:

<李>

随机产生一张图片

<李>

拿到微信用户的头像和称呢(自己调后端的接口获取)

<李>

把用户头像和称呢和随机产生一张图片合成一张海报

<李>

可能上一页用户还有填入的心愿文本也要填入图片中

 html5画布中微信海报的示例分析

<强>实现效果图

 html5画布中微信海报的示例分析

<强>记录下在实现功能过程中遇到的问题

<李>

画布在微信浏览器中长按无效不能像img一样长按分享(那我就转成img呗)

<李>

转成img后在微信开发者工具中能显示,真机无效(欲哭无泪),度娘说可能是图片跨域^ - ^

<李>

用户头像合成还要圆角,我表示不会啊,直接看画布api文档了对度娘无爱了

<李>

帆布填入文字超过指定宽度也要换行,我表示只知道不超多指定宽度的各种文字对齐方式ctx。textAlign=& # 39;中心# 39;李;

<李>

画布在高清屏下模糊的问题(超简单的不知道度娘怎么会那么啰嗦)不就是画布。witdt=innerWidth * devicePixelRatio

<强> HTML结构

& lt; p 类=癷mgBox", v-cloak>   ,,,& lt; img : src=https://www.yisu.com/zixun/的imgSrc v=" imgSrc "/>   

CSS

& lt; style>   ,,,* {   ,,,,,,,保证金:0;   ,,,,,,,填充:0;   ,,,}   ,,,,   ,,,html  {   ,,,,,,,宽度:,100%;   ,,,,,,,身高:,100%;   ,,,}      ,,,.imgBox  {   ,,,,,,,宽度:,100%;   ,,,,,,,身高:,100%;      ,,,}      ,,,img  {   ,,,,,,,宽度:,100%;   ,,,,,,,显示:,块;   ,,,}   & lt;/style>脚本

//,js主要结构   Vue ({new    ,,,el: & # 39; imgBox& # 39;   ,,,数据:{   ,,,,,,,urlParam:,{},//获取url中的传值对象   ,,,,,,,randomNum:, 1//随机数用于确定那个祈福页   ,,,,,,,用户名:,& # 39;& # 39;//用户称呢   ,,,,,,,imgSrc:, & # 39; & # 39;//合成最终图片   ,,,,,,,userImg:, & # 39; & # 39;//用户头像图片   ,,,,,,,userMessage:, & # 39; & # 39;//用户留的言   ,,,},   ,,,方法:,{   ,,,,,,,//,分享到盆友圈   ,,,,,,,wxShareFriends:, function  (), {},   ,,,,,,,//,初始化请求头   ,,,,,,,wxHttp:, function  (), {   ,,,,,,,,,,,美元.ajaxSetup ({   ,,,,,,,,,,,,,,,头:,{   ,,,,,,,,,,,,,,,& # 39;X-CSRF-TOKEN& # 39;:美元,(& # 39;元[name=癱srf-token"] & # 39;) .attr(& # 39;内容# 39;)   ,,,,,,,,,,,,,,,}   ,,,,,,,,,,,});   ,,,,,,,},   ,,,,,,,//,获取随机数(1,10)   ,,,,,,,randomNumbers (), {   ,,,,,,,,,,,this.randomNum =, Math.ceil (math . random (), *, 10)   ,,,,,,,},   ,,,,,,,//,获取微信用户头像和称呢和用户输入祝福语   ,,,,,,,getUserInfo (), {   ,,,,,,,,,,,var  vm =,;   ,,,,,,,,,,,$ . post (& # 39; API请求地址& # 39;,,function (数据),{   ,,,,,,,,,,,,,,,if  (==data.code  1), {   ,,,,,,,,,,,,,,,,,,,vm.userImg =, data.data.headimg;   ,,,,,,,,,,,,,,,,,,,vm.userName =, data.data.nickname;   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null

html5画布中微信海报的示例分析