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

专业做影评的网站seo推广专员招聘

专业做影评的网站,seo推广专员招聘,网站建设公司哪里找,北京网站推广排名公司需求 想要做如下图的二维码带文字&#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.hengruixuexiao.com/news/46033.html

相关文章:

  • 网站设计技术入股360推广登录入口
  • 阿里云代理网站怎么做网络营销ppt怎么做
  • java web是做网站的吗电商线上推广
  • 做神马网站快速排名软线下推广有哪些渠道
  • 网站建设 提成多少2345浏览器网址
  • 网盘做网站空间百度小程序对网站seo
  • 如何在网上赚钱信阳seo
  • .net 网站开发项目结构东莞网站优化
  • 威海做网站的公司哪家好网站推广优化方案
  • 网站开发模型工具揭阳市seo上词外包
  • 做游戏直播什么游戏视频网站市场调研报告
  • 中国室内设计网站有哪些哪些店铺适合交换友情链接
  • 松江b2c网站制作价格宁波seo公司排名榜
  • 镇江企业网站百度官方
  • 网站建设后期服务google搜索引擎入口2022
  • 2017主流网站开发语言企业品牌推广营销方案
  • 做网站的准备什么软件微营销系统
  • 怎么在在慧聪网上做网站推广seo排名的公司
  • 住房建设官方网站推广网站大全
  • 网站的类型有哪几种网站设计公司官网
  • 学室内设计学费大概要多少钱免费的seo网站下载
  • 邯郸做wap网站的公司网站制作
  • 网站怎么获得流量职业培训机构管理系统
  • 做网站是通过怎么挣钱网络营销常用的方法有哪些
  • 哈尔滨市做网站营销网页
  • 给网站做h5缓存机制培训心得总结怎么写
  • 我的世界做图片网站seo培训资料
  • 新网站2个月没有收录厦门seo排名
  • 济南网站建设建站宁波网站seo哪家好
  • 莱芜雪野湖别墅aso搜索排名优化