金狮贵宾会

登录
免费开通

微信小程序制作海报并分享到朋侪圈怎样实现

小程序制作海报可以通过一些小程序直接上传图片实现,,,, ,这里小编为各人介绍怎样通过小程序自己制作海报并分享到朋侪圈呢??

微信小程序制作海报并分享到朋侪圈怎样实现


添加画布

首先,,,, ,在小程序里举行绘图操作需要用到<canvas>组件,,,, ,那我们就先在金狮贵宾会wxml代码中放入如下的<canvas>:

<canvas canvas-id="shareCanvas" style="width:600px;height:900px"></canvas>

这样一来我们就有了一个600x900的绘图区域。。。。。然后,,,, ,我们要最先写JS代码在这张画布上举行绘图操作。。。。。

方法1:绘制配景图

通过视察《长城你造不造》合成的那张分享图,,,, ,我们可以剖析得出它的组成主要有以下3个部分:一张大的配景图,,,, ,一段动态的文字(xxxx 喊你“一起来为修长城献砖”),,,, ,以及一个小程序码图片。。。。。

那么我们就先找一张图片来当做配景图,,,, ,将它画到画布上去,,,, ,代码大致如下:

const wxGetImageInfo = promisify(wx.getImageInfo)

wxGetImageInfo({

    src: 'https://some-domain/bg.png'

}).then(res => {

    const ctx = wx.createCanvasContext('shareCanvas')

    ctx.drawImage(res.path, 0, 0, 600, 900)

    ctx.draw()

})

在这段代码中,,,, ,我们通过使用wx.getImageInfo这个API来下载一个网络图片到外地(并可获取该图片的尺寸等其他信息),,,, ,然后挪用ctx.drawImage要领将图片绘制到画布上,,,, ,填满画布。。。。。

方法2:绘制文字

接着,,,, ,让我们来在画布上继续绘制一段文字,,,, ,一般这种宣传用的分享图,,,, ,少不了文字形貌,,,, ,并且可能是凭证场景内容差别而爆发的动态信息,,,, ,好比可能是一篇文章的作者、文章的问题和内容。。。。。

我们实验下在画布上添加一段居中显示的文字:“作者:一斤代码”,,,, ,照旧基于前面的那段代码接着写:

const wxGetImageInfo = promisify(wx.getImageInfo)

wxGetImageInfo({

    src: 'https://some-domain/bg.png'

}).then(res => {

    const ctx = wx.createCanvasContext('shareCanvas')

    

    // 底图

    ctx.drawImage(res.path, 0, 0, 600, 900)

    // 作者名称

    ctx.setTextAlign('center')    // 文字居中

    ctx.setFillStyle('#000000')  // 文字颜色:玄色

    ctx.setFontSize(22)         // 文字字号:22px

    ctx.fillText(“作者:一斤代码”, 600 / 2, 500)

    

    ctx.stroke()

    ctx.draw()

})

由于在canvas上绘制文字不会自动折行,,,, ,若是要画一段较量长的文本,,,, ,可以思量限制一行的字数,,,, ,将长文本拆分成几行来画。。。。。

方法3:绘制小程序码

最后,,,, ,我们在画布最后添加一个小程序码,,,, ,可以是静态的小程序码,,,, ,也可以是好比为每一篇文章动态天生的小程序码(参考《微信小程序之天生自界说参数小程序二维码》这篇文章),,,, ,横竖这个小程序码也就是一张图片,,,, ,以是绘制要领跟绘制底图差未几。。。。。最后的代码类似云云:

const wxGetImageInfo = promisify(wx.getImageInfo)

Promise.all([

    wxGetImageInfo({

        src: 'https://some-domain.com/background.png'

    }),

    wxGetImageInfo({

        src: 'https://some-domain.com/api/generate/qrcode'

    })

]).then(res => {

    const ctx = wx.createCanvasContext('shareCanvas')

    

    // 底图

    ctx.drawImage(res[0].path, 0, 0, 600, 900)

    // 作者名称

    ctx.setTextAlign('center')    // 文字居中

    ctx.setFillStyle('#000000')  // 文字颜色:玄色

    ctx.setFontSize(22)         // 文字字号:22px

    ctx.fillText(“作者:一斤代码”, 600 / 2, 500)

    // 小程序码

    const qrImgSize = 180

    ctx.drawImage(res[1].path, (600 - qrImgSize) / 2, 530, qrImgSize, qrImgSize)

    ctx.stroke()

    ctx.draw()

})

这样,,,, ,差未几金狮贵宾会分享图就天生好了。。。。。

生涯到系统相册

接着,,,, ,我们要把它生涯进用户的系统相册中去,,,, ,实现这个功效,,,, ,我们主要靠wx.canvasToTempFilePath和wx.saveImageToPhotosAlbum这两个API。。。。。

主要的流程就是先通过wx.canvasToTempFilePath将<canvas>上绘制的图像天生暂时文件的形式,,,, ,然后再通过wx.saveImageToPhotosAlbum举行生涯到系统相册的操作。。。。。

const wxCanvasToTempFilePath = promisify(wx.canvasToTempFilePath)

const wxSaveImageToPhotosAlbum = promisify(wx.saveImageToPhotosAlbum)

wxCanvasToTempFilePath({

    canvasId: 'shareCanvas'

}, this).then(res => {

    return wxSaveImageToPhotosAlbum({

        filePath: res.tempFilePath

    })

}).then(res => {

    wx.showToast({

        title: '已生涯到相册'

    })

})

其中promise.util.js如下:

[javascript] view plain copy

/** 

 * 将wx的callback形式的API转换成支持Promise的形式 

 */  

module.exports = {  

  

  promisify: api => {  

    return (options, ...params) => {  

      return new Promise((resolve, reject) => {  

        const extras = {  

          success: resolve,  

          fail: reject  

        }  

        api({ ...options, ...extras }, ...params)  

      })  

    }  

  }  

  

微信小程序制作海报并分享到朋侪圈怎样实现


【本站声明】
  1、本站文章中所选用的图片及文字泉源于网络以及用户投稿,,,, ,由于未联系到知识产权人或未发明有关知识产权的挂号,,,, ,若有知识产权人并不肯意我们使用,,,, ,若是有侵权请连忙联系。。。。。
  2、本网站差池文章中所涉及的内容真实性、准确性、可靠性认真,,,, ,仅系客观性形貌,,,, ,如您需要相识该类商品/服务详细的资讯,,,, ,请您直接与该类商品/服务的提供者联系。。。。。


KESION 金狮贵宾会软件

KESION 金狮贵宾会软件是海内领先的在线教育软件及私域社交电商软件服务提供商,,,, ,恒久专注于为企业提供在线教育软件及社交电商SaaS平台解决方案。。。。。
公司焦点产品云开店SaaS社交电商服务平台、在线教育SaaS服务平台、教育企业数字化SaaS云平台、企微营销助手、私有化自力安排品牌网校和在线教育咨询等。。。。。

KESION 一直通过手艺立异,,,, ,提供产品和服务,,,, ,助力企业向数字化转型,,,, ,通过科技驱动商业刷新,,,, ,让商业变得更智慧!



▼点击进入金狮贵宾会官网相识更多



热门标签
微信小程序 SaaS
上/下篇
  • 拼多多小程序源码开发案例

  • 小程序定位周围店肆带来的商机,,,, ,怎样建设

换一换相关推荐
精选内容
热门精选
金狮贵宾会·宾至如归-尊贵显赫 金狮贵宾会·宾至如归-尊贵显赫 金狮贵宾会·宾至如归-尊贵显赫
【网站地图】
微信小程序制作海报并分享到朋侪圈怎样实现 - KESION