在微信小程序中使用canvas绘制海报的时候,发现有多种不同的样式文字时,

保存canvas内容为图片,出现各种文字样式错乱。

------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------

多次测试后发现,wx.canvasToTempFilePath()这个方法不只需要在ctx.draw回调中执行,还需要setTimeout

一定时间才能保证保存的图片是自己程序预期的样子。

回调写法:

ctx.draw(false, () => {

setTimeout(() => {

wx.canvasToTempFilePath();

}, 100)

})

async、await 写法:

await new Promise((resolve, reject) => ctx.draw(false, () => setTimeout(() => resolve(), 100)));

wx.canvasToTempFilePath();

预期图片:

意外金喜的博客:http://blog.csdn.net/zzwwjjdj1

更多小程序文章:http://blog.csdn.net/zzwwjjdj1/article/details/79351547

[已解决]微信小程序 canvas 文字样式错乱问题相关推荐

  1. 微信小程序设置文字样式white-space失效

    微信小程序中的换行 今天遇到了一个多段文字展示的效果,试了很多种方法设置样式等都实现不了,最后发现,在微信小程序中,不能使用view为文字做换行等操作 HTML中的换行可以直接使用 标签,但是微信小程 ...

  2. 微信小程序 canvas 文字自动换行

    Page({drawCanvas: function(ctx) {// 地址ctx.setFontSize(14)ctx.setFillStyle('#9E7240')ctx.textAlign=&q ...

  3. c语言小程序跑马灯,微信小程序实现文字跑马灯效果

    本文实例为大家分享了微信小程序实现文字跑马灯的具体代码,供大家参考,具体内容如下 wxml 1 显示完后再显示 Box"> 2 出现白边后即显示 Box"> {{tex ...

  4. 微信小程序-canvas绘制文字实现自动换行

    微信小程序-canvas绘制文字实现自动换行 在使用微信小程序canvas绘制文字时,时常会遇到这样的问题:因为canvasContext.fillText参数为 我们只能设置文本的最大宽度,这就产生 ...

  5. 微信 html 字体 自动换行,详解微信小程序-canvas绘制文字实现自动换行

    在使用微信小程序canvas绘制文字时,时常会遇到这样的问题:因为canvascontext.filltext参数为 我们只能设置文本的最大宽度,这就产生一定的了问题.如果我们绘制的文本长度不确定或者 ...

  6. 微信小程序 canvas描绘文字图片 生成图片并保存到本地

    在实现这个功能时,遇到以下的问题: 1. canvas绘制文字的换行问题: 如果文字的长度大于你所定的宽度的话,文字会超出你所定宽度: 小程序的CanvasContext.fillText有一个max ...

  7. 解决微信小程序的video元素层级太高无法遮盖问题

    解决微信小程序的video元素层级太高无法遮盖和show-play-btn属性失效问题 今天在项目中遇到了这个问题,需要在微信小程序中用视频作为背景,微信开发者工具中模拟的没问题,真机调试就发现vid ...

  8. 解决微信小程序银行卡号输入转换格式

    解决微信小程序银行卡号输入转换格式问题 ps:2017-02-17 19:44 (发现新bug,暂已解决优化中) 新手第一次写博客,请多多见谅! (感觉会有更好的办法,希望有大牛能对我指点指点) 输入 ...

  9. php小程序中的页面如何换行,解决微信小程序scroll-view换行问题

    今天在写小程序的时候使用了scroll-view,但是发现在scroll-view中一行文字不能换行,代码如下: asdhadjhkajshdkjahsdkjasdajsdhkajsdkajsdkaj ...

最新文章

  1. 来看看如何使用策略模式干掉讨厌的 if else
  2. post发送 ArrayBuffer
  3. HTML头部元素标签
  4. sqlsugar 批量删除guid类型主键_一文上手SqlSugar 「C# 数据操作系列」
  5. linux lynx 源码,Linux移植浏览器 Lynx字符浏览器移植
  6. 前端学习(2135):ES模块化的导出和导入
  7. linux coreutils升级,Coreutils
  8. 想搞IT做程序员,要看哪些书?
  9. 7.24 校内模拟赛
  10. ruby 疑难点之—— attr_accessor attr_reader attr_writer
  11. Smalltalk 语言的地位为何一落千丈?
  12. matlab2c使用c++实现matlab函数系列教程-sqrt函数
  13. 装饰模式/适配器模式/代理模式
  14. 滚轮事件的防冒泡、阻止默认行为
  15. cordova与android通信_使用Cordova插件实现两个app之间的相互调用和通讯
  16. 口令破解(概述、暴力破解、字典破解、Hydra)
  17. json转java对象_java对象与json对象间的相互转换的方法
  18. 乌班图系统部署jdk
  19. 《JavaScript权威指南第7版》第4章 表达式和运算符
  20. 2018/9/18单舵轮AGV项目笔记之二

热门文章

  1. Mac系统下java环境配置
  2. [shell] widows与Linux 换行符不同 导致字符串拼接错误
  3. 富人狼性穷人羊性商人必读
  4. iOS开发-自动化打包Jenkins集成
  5. 树莓派Linux系统内核源码下载方式
  6. Nginx限流模块limit_req_zone、limit_req_conn
  7. 图片如何让去水印-如何帮图片去水印
  8. 大数据美妆大赏_芭莎美妆大奖2016最强大数据美妆榜单要你好看!
  9. php condition 语法,condition的五个语法要点
  10. 桌面快捷方式变.lnk的恢复办法