涉及好多个问题

比如保存到本地有黑色背景

怎么用把文字和图 画到画布上

腾讯的东西就是坑多了 直接上代码吧 啥也不说额

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画内容然后保存到本地的例子的更多相关文章

  1. C#读取Excel设置(亲测可用)

    OpenFileDialog openFD = new OpenFileDialog(); openFD.FileName = ""; openFD.Filter = " ...

  2. IntelliJ13+tomcat+jrebel实现热部署(亲测可用)

       网上有很多介绍intellij idea整合jrebel插件实现热部署的文章,但是有的比较复杂,有的不能成功,最后经过各种尝试,实现了整合,亲测可用!步骤说明如下:   一.先下载jrebel安 ...

  3. jetbrains的JetBrains PyCharm 2018.3.1破解激活到2100年(最新亲测可用)

    破解补丁激活 之前看了好多的其它的方法感觉都不是很靠谱还是这个本人亲试可以长期有效不仅能激活pycharm.jetbrains的JetBrains PyCharm 2018.3.1破解激活到2100年 ...

  4. IntelliJ IDEA2017 激活方法 最新的(亲测可用)

    IntelliJ IDEA2017 激活方法(亲测可用): 搭建自己的授权服务器,对大佬来说也很简单,我作为菜鸟就不说了,网上有教程. 我主要说第二种,现在,直接写入注册码,是不能成功激活的(如果你成 ...

  5. [转]QT子线程与主线程的信号槽通信-亲测可用!

    近用QT做一个服务器,众所周知,QT的主线程必须保持畅通,才能刷新UI.所以,网络通信端采用新开线程的方式.在涉及到使用子线程更新Ui上的控件时遇到了点儿麻烦.网上提供了很多同一线程不同类间采用信号槽 ...

  6. VMware Workstation Pro 14注册码,亲测可用

    ** VMware Workstation Pro 14注册码 ** 作者网上搜集整理 作者使用的密钥是: AC5XK-0ZD4H-088HP-9NQZV-ZG2R4 亲测可用 以下密钥未测试 CG5 ...

  7. 亲测可用!免费下载QQ音乐大部分资源!

    优化后亲测可用!免费下载QQ音乐大部分资源 通知 时间问题 博客园这边暂时停更要下载的去GitHub或者90盘 GitHub项目地址 https://github.com/TotoWang-hhh/m ...

  8. Linux下通过crontab及expect实现自动化处理 --亲测可用

    #!/usr/bin/expect -fspawn /home/scripts/bckup.shexpect "Enter password: "  send "WWQQ ...

  9. 亲测可用!!!golang如何在idea中保存时自动进行代码格式化

    亲测可用,golang在idea中的代码自动格式化 1.ctrl+alt+s打开设置界面,选择[Plugins] -> [Install JetBrains plugin...] -> 搜 ...

随机推荐

  1. socket端口绑定后通过bat干掉

    @echo off::port为需要去绑定端口set port=8888for /f "tokens=5 delims= " %%a in ('netstat -ano ^|fin ...

  2. 关于python的装饰器(初解)

    在python中,装饰器(decorator)是一个主要的函数,在工作中,有了装饰器简直如虎添翼,许多公司面试题也会考装饰器,而装饰器的意思又很难让人理解. python中,装饰器是一个帮函数动态增加 ...

  3. elipse使用,Java和Javaee模式区别

    Java带有用户界面的基本ide,缺少数据库和web开发工具 IDE(Integrated Development Environment,集成开发环境).集成开发环境(简称IDE)软件是用于程序开发 ...

  4. ionic上拉加载组件 ion-infinite-scroll自动调用多次的问题

    参考文章地址:http://www.cnblogs.com/luleixia/p/6402418.html ionic 一个上拉刷新的组件 ion-infinite-scroll,如果页面未填充满页面 ...

  5. BLE和2.4G实现通信

    1. 背景 客户的项目是无线控制灯具,目前采用2.4G芯片,一端是2.4G遥控器,一端是2.4G灯具.现在客户的需求是在不增加成本的条件下增加手机APP控制.因为BLE芯片一般会比纯2.4G芯片价格高 ...

  6. c# 枚举安卓系统中所有目录及文件名

    using Android.App; using Android.Widget; using Android.OS; using System.Runtime.InteropServices; nam ...

  7. Setting

    http://www.cnblogs.com/felixwang2/p/8798653.html

  8. Golang之接口

  9. 超详细SQLMap使用攻略及技巧分享

    sqlmap是一个开源的渗透测试工具,可以用来进行自动化检测,利用SQL注入漏洞,获取数据库服务器的权限.它具有功能强大的检测引擎,针对各种不同类型数据库的渗透测试的功能选项,包括获取数据库中存储的数 ...

  10. osx免驱网卡推荐

    1. 单频2.4G芯片为Realtek RTL8188cu, RTL8192cu,都可以用,如TP-Link TL-WN821N.TP-Link TL-WN823N等等:2. 单频2.4G芯片为Med ...