【亲测可用网上的不靠谱居多】一个完整的用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...] -> 搜 ...
随机推荐
- Navicat 连接MySQL时出现1251错误的解决方案
我用的MySQL版本是8.0.11,比较新的MySQL版本中采用的加密方式与旧的不同,从而导致1251错误. 解决方案:打开终端连接上数据库,执行以下语句,问题解决.(自己遇到过的坑,亲测有效) US ...
- Python练习十一
1.写一个程序,提示输入整数X,然后计算从1到X连续整数的和. num = int(input('please the input number:')) sum_num = 0 for i in ra ...
- 中间件和Django缓存
中间件定义: 中间件是一个.一个的管道,如果相对任何所有的通过Django的请求进行管理都需要自定义中间件 中间件可以对进来的请求和出去的请求进行控制 中间件是一类. 看下面的代码在settings里 ...
- 试写foxit reader的ConvertToPDF功能的wrapper
相比于直接fuzzing大型程序本身,针对程序的某一特定功能写wrapper后再fuzzing则要高效的多.网上搜了下,仅有两篇关于foxit reader的wrapper文章,一个用python,另 ...
- 真tm郁闷
昨天这时还是信心满满,今天这时就已经彻底颓了. 感觉这次是最接近的了,4个题目都做出来了,怎么还会fail,那边也不说为什么,到底是哪里不足,尽说些没用的. 前后都当了4次炮灰了,以后也不会再冲动了, ...
- SpringMVC和Struts2区别比较
区别1: Struts2 的核心是基于一个Filter即StrutsPreparedAndExcuteFilterSpringMvc的核心是基于一个Servlet即DispatcherServlet( ...
- 左耳听风-ARTS-第1周
Algorithm https://leetcode.com/problems/longest-common-prefix/ class Solution { public String longes ...
- D# 语法
这篇文章 随意 的 记录 关于 D# 语法的想法 . template 和 interface 同时作为一等公民 D# 是程序员的语言,不需要太多包装和修饰, D# 是 简单的, 编译器 和 ID ...
- 手写SpringMVC实现
设计自己的MVC架构 1.读取配置通过web.xml中加载我们自己写的MyDispatcherServlet和读取配置文件. 2.初始化九大组件只需实现基本的:1).加载配置文件:2).扫描用户配置包 ...
- laravel学习资料
http://blog.csdn.net/qq_20873039/article/category/6246852 --laravel核心概念 /Eloquent ORM / laravel bl ...