当前位置: 首页 > news >正文

专业做影评的网站武汉网站建设推广公司

专业做影评的网站,武汉网站建设推广公司,交友网站如何赚钱,少女心仙气手工需求 想要做如下图的二维码带文字&#xff0c;且能够长按保存 前期准备 一个canvas安装qrcode&#xff08;命令&#xff1a;npm i qrcode&#xff09; 画二维码及文字 初始化画布 <template><div><canvas ref"canvas" width"300" he…

需求

想要做如下图的二维码带文字,且能够长按保存
在这里插入图片描述

前期准备

  1. 一个canvas
  2. 安装qrcode(命令:npm i qrcode)

画二维码及文字

初始化画布

<template><div><canvas ref="canvas" width="300" height="400"></canvas></div>
</template><script setup>
import { ref, onMounted } from 'vue';
const canvas = ref(null);
onMounted(() => {// 初始化画布let ctx = canvas.value.getContext('2d');
})
</script>

画文字

<template><div><canvas ref="canvas" width="300" height="400"></canvas></div>
</template><script setup>
import { ref, onMounted } from 'vue';
const canvas = ref(null);
onMounted(() => {// 初始化画布let ctx = canvas.value.getContext('2d');// 填充白色ctx.fillStyle = "#fff";ctx.fillRect(0, 0, 300, 400);// 画文字ctx.font = "14px Microsoft YaHei"ctx.textBaseline = "middle";ctx.textAlign = "center";ctx.fillStyle = "#333333";ctx.fillText("简单教程,简单编程", canvas.value.width / 2, 40);
})
</script>

画二维码

二维码需要使用qrcode转换

<template><div><canvas ref="canvas" width="300" height="400"></canvas></div>
</template><script setup>
import QRCode from 'qrcode';
import { ref, onMounted } from 'vue';
const canvas = ref(null);
onMounted(() => {// 初始化画布let ctx = canvas.value.getContext('2d');// 填充白色ctx.fillStyle = "#fff";ctx.fillRect(0, 0, 300, 400);// 画文字ctx.font = "14px Microsoft YaHei"ctx.textBaseline = "middle";ctx.textAlign = "center";ctx.fillStyle = "#333333";ctx.fillText("简单教程,简单编程", canvas.value.width / 2, 40);// 画二维码QRCode.toDataURL('I am a pony!', function (err, url) {let img = new Image()img.src = url;img.onload = function () {ctx.drawImage(img, 50, 50, 200, 200);}})
})
</script>

长按保存

通过监听触摸事件的时间判定长按

<template><div><div class="friend" @touchstart="gtouchstart()" @touchmove="gtouchmove()" @touchend="showDeleteButton()"><canvas ref="canvas" width="300" height="400"></canvas></div></div>
</template><script setup>
import QRCode from 'qrcode';
import { ref, onMounted } from 'vue';
const canvas = ref(null);
onMounted(() => {let ctx = canvas.value.getContext('2d');// 填充白色ctx.fillStyle = "#fff";ctx.fillRect(0, 0, 300, 400);// 画文字ctx.font = "14px Microsoft YaHei"ctx.textBaseline = "middle";ctx.textAlign = "center";ctx.fillStyle = "#333333";ctx.fillText("简单教程,简单编程", canvas.value.width / 2, 40);// 画二维码QRCode.toDataURL('I am a pony!', function (err, url) {let img = new Image()img.src = url;img.onload = function () {ctx.drawImage(img, 50, 50, 200, 200);}})
})
let timeOutEvent = null //定时器 
//长按事件设置定时器
let gtouchstart = () => {timeOutEvent = setTimeout(() => {longPress()}, 700)
}//手释放,如果在200毫秒内就释放,则取消长按事件,此时可以执行onclick应该执行的事件
let showDeleteButton = () => {clearTimeout(timeOutEvent); //清除定时器if (timeOutEvent != 0) {timeOutEvent = 0;}return false;
}
//如果手指有移动,则取消所有事件,此时说明用户只是要移动而不是长按
let gtouchmove = () => {clearTimeout(timeOutEvent); //清除定时器timeOutEvent = 0
}
//真正长按后应该执行的内容
let longPress = () => {timeOutEvent = 0;// 创建一个链接元素const link = document.createElement("a");// 将Canvas转换为数据URLconst dataURL = canvas.value.toDataURL();// 设置链接的href属性为数据URLlink.href = dataURL;// 设置链接的下载属性和文件名link.download = "canvas_image.png";// 模拟点击链接进行下载link.click();
}
</script><style scoped></style>
http://www.jinmujx.cn/news/113294.html

相关文章:

  • 一些网站只能在微信打开怎么做的网络公司经营范围
  • 人力资源外包收费标准百度关键词优化专家
  • 做自己的卡盟网站项目营销推广策划
  • 网站制作宜昌怎么做?搜索引擎公司排名
  • 设置wordpress什么是seo如何进行seo
  • 做网站原型图软件手机优化助手
  • 网站运行需求关键词排名公司
  • 做网站网页版和手机版网站如何优化
  • php网站换服务器搜索引擎优化seo怎么做
  • 基础网站怎么做网站收录查询代码
  • 网站建设 试题百姓网推广电话
  • 定西企业网站制作如何查询网站收录情况
  • 济南烨铭网站建设seo优化推广专员招聘
  • 网站设计多少钱一个统计工具
  • 网站建设需求填表网络销售怎么做才能做好
  • 建设银行appseo推广灰色词
  • 专门做行测题的网站发外链的网址
  • 服务器上做网站网络营销推广有效方式
  • 网页设计规范文档全网优化推广
  • 网站建设道冲站长工具一区
  • 做网站还是做公众号免费站长工具
  • 沂源做网站软文推广文章
  • 网站搭建的策略与方法天津seo公司
  • 聊城网站建设设计实力公司专业优化网站排名
  • 通辽网站建设公司新疆头条今日头条新闻
  • 管理咨询的作用北京做网络优化的公司
  • 百度做网站为什么上阿里云备案91关键词排名
  • 怎么做网站优化 siteseo英文怎么读
  • 打代码怎么做网站游戏挂机赚钱一小时20
  • 网站站长英语全国前十名小程序开发公司