【亲测可用网上的不靠谱居多】一个完整的用canvas画内容然后保存到本地的例子
涉及好多个问题
比如保存到本地有黑色背景
怎么用把文字和图 画到画布上
腾讯的东西就是坑多了 直接上代码吧 啥也不说额
pic.wxml
<view class='container'>
<canvas bindtap='clickMe' canvas-id='testCanvas' class='testCanvas' style="height:{{height}}px;width:{{width}}px;background-color:white;" ></canvas>
</view>
pic.js
Page({
  data: {
    website: '123.com',
    username: '',
    password: "",
    width:,
    height:,
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    let rpx = ;
    wx.getSystemInfo({
      success(res) {
        rpx = res.windowWidth / ;
      },
    })
    var that = this;
    const ctx = wx.createCanvasContext('testCanvas');//这个代码要放onload里面   腾讯真坑 啥都不说
    ctx.setFillStyle('#FFFFFF')
    ctx.fillRect(, , that.data.width, that.data.height);//这个是防止截图黑屏的 先进行填充
    ctx.drawImage("../images/cat_msg.png", , , , );//图片的路径注意细节,这个名字是放在和JS相同目录的 用的这个名字
    ctx.setFontSize() //字体大小
    ctx.textAlign = "center"; //文字居中
    ctx.setFillStyle('#242424')
    ctx.fillText('使用说明', , )
    ctx.fillText('1.打开电脑浏览器,在浏览器中输入', , )
    ctx.setFillStyle('#FF3030')
    ctx.fillText(that.data.website, , )
    ctx.setFillStyle('#242424')
    ctx.fillText('2.填写用户名:', , )
    ctx.setFillStyle('#FF3030')
    ctx.fillText(that.data.username, , )
    ctx.setFillStyle('#242424')
    ctx.fillText('3.填写验证码:', , )
    ctx.setFillStyle('#FF3030')
    ctx.fillText(that.data.password, , )
    ctx.setFillStyle('#242424')
    ctx.fillText('4.进入页面,找到文件进行下载使用', , )
    ctx.fillText('注:可以点击右上角“修改”,进行修', , )
    ctx.fillText('改用户名和提取码操作', , )
    ctx.drawImage("../images/button_printscreen.png", , , , );
    ctx.setFillStyle('#ffffff');
    ctx.draw();
  },
    clickMe() {
      var that = this;
      wx.canvasToTempFilePath({
        width: that.data.width,
        height: that.data.height,
        destWidth: that.data.width,
        destHeight: that.data.height,
        canvasId: 'testCanvas',
        success: function (res) {
          wx.saveImageToPhotosAlbum({
            filePath: res.tempFilePath,
            success(res) {
              console.log(res)
              wx.hideLoading();
              wx.showToast({
                title: '保存成功',
              });
            },
            fail() {
              wx.hideLoading()
            }
          })
        }
      })
    }
})
说多了 都是泪
【亲测可用网上的不靠谱居多】一个完整的用canvas画内容然后保存到本地的例子的更多相关文章
- C#读取Excel设置(亲测可用)
		
OpenFileDialog openFD = new OpenFileDialog(); openFD.FileName = ""; openFD.Filter = " ...
 - IntelliJ13+tomcat+jrebel实现热部署(亲测可用)
		
网上有很多介绍intellij idea整合jrebel插件实现热部署的文章,但是有的比较复杂,有的不能成功,最后经过各种尝试,实现了整合,亲测可用!步骤说明如下: 一.先下载jrebel安 ...
 - jetbrains的JetBrains PyCharm 2018.3.1破解激活到2100年(最新亲测可用)
		
破解补丁激活 之前看了好多的其它的方法感觉都不是很靠谱还是这个本人亲试可以长期有效不仅能激活pycharm.jetbrains的JetBrains PyCharm 2018.3.1破解激活到2100年 ...
 - IntelliJ IDEA2017 激活方法 最新的(亲测可用)
		
IntelliJ IDEA2017 激活方法(亲测可用): 搭建自己的授权服务器,对大佬来说也很简单,我作为菜鸟就不说了,网上有教程. 我主要说第二种,现在,直接写入注册码,是不能成功激活的(如果你成 ...
 - [转]QT子线程与主线程的信号槽通信-亲测可用!
		
近用QT做一个服务器,众所周知,QT的主线程必须保持畅通,才能刷新UI.所以,网络通信端采用新开线程的方式.在涉及到使用子线程更新Ui上的控件时遇到了点儿麻烦.网上提供了很多同一线程不同类间采用信号槽 ...
 - VMware Workstation Pro 14注册码,亲测可用
		
** VMware Workstation Pro 14注册码 ** 作者网上搜集整理 作者使用的密钥是: AC5XK-0ZD4H-088HP-9NQZV-ZG2R4 亲测可用 以下密钥未测试 CG5 ...
 - 亲测可用!免费下载QQ音乐大部分资源!
		
优化后亲测可用!免费下载QQ音乐大部分资源 通知 时间问题 博客园这边暂时停更要下载的去GitHub或者90盘 GitHub项目地址 https://github.com/TotoWang-hhh/m ...
 - Linux下通过crontab及expect实现自动化处理 --亲测可用
		
#!/usr/bin/expect -fspawn /home/scripts/bckup.shexpect "Enter password: " send "WWQQ ...
 - 亲测可用!!!golang如何在idea中保存时自动进行代码格式化
		
亲测可用,golang在idea中的代码自动格式化 1.ctrl+alt+s打开设置界面,选择[Plugins] -> [Install JetBrains plugin...] -> 搜 ...
 
随机推荐
- django模型二
			
django模型二 常用模型字段类型 IntegerField → int CharField → varchar TextField → longtext DateFiel ...
 - js练习
			
/** * Created by bianxiaoling on 2018/9/7. */ // 获取 url 中的参数 // 1. 指定参数名称,返回该参数的值 或者 空字符串 // 2. 不指定参 ...
 - javascript将C#json序列化的Date对象转换成正常的Date格式
			
function ChangeDateFormat(cellval) { var date = new Date(parseInt(cellval.replace("/Date(" ...
 - java_oop_接口
			
接口 难的是在系统设计里怎么样使用接口,主要在语法,不在系统架构与设计 概念 声明 语法 只有抽象方法的抽象类?可以用接口来表示,用接口来代替这样的抽象类,是因为 ...
 - Java高级特性 第10节 IDEA和Eclipse整合JUnit测试框架
			
一.IDEA整合Junit测试框架 1.安装插件 打开File菜单的下拉菜单settings[设置] : 点击左侧Plugins[插件]菜单 在输入框中输入JUnitGenerator 2.0,点击I ...
 - Zabbix server的配置文件没有真正生效
			
现状 Zabbix server端迁移之后,一直卡,卡的不行的卡,一直以为是网络的原因,实在忍受不下去了,还是得排查排查 在界面上一直显示这条,但是我的zabbix_server确实是启动的,但是 ...
 - Vue 中渲染字符串形式的组件标签
			
在vue中如果要渲染字符串形式的标签,vue 提供了 v-html 指令,可以很方便的渲染出来.但是如果这个标签是一个组件,或者element-ui 的组件时,就不能解析出来了,因为v-html 只能 ...
 - chrome浏览器onunload方法无法执行window.location.href
			
记录用户不正常退出,如关闭浏览器的时候,执行onunload方法,跳回后台记录用户已经退出的信息,在ie上可以正常跳转,但在Firefox和chrome上却无法跳转. 测试后发现以下方法可以实现,支持 ...
 - Spring Boot 全局异常处理
			
Spring Boot版本 1.5 @ControllerAdvice public class GlobalExceptionHandler extends ResponseEntityExcept ...
 - sdk manager更改国内镜像
			
两种方法: 一.参考: https://blog.csdn.net/u010165004/article/details/45227019 打开Android SDK Manager,在Tools下的 ...