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

专业做影评的网站电商网站网址

专业做影评的网站,电商网站网址,自己的网站怎么做搜索引擎,b2b外贸营销型网站需求 想要做如下图的二维码带文字&#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.dt0577.cn/news/21163.html

相关文章:

  • 成都网站建设 全美2024年重大新闻摘抄
  • 收费网站怎么建立门户网站推广方案
  • 推荐30个国外优秀的设计教程网站百度seo运营工作内容
  • 专业网站 建设公司seo关键词排名怎么优化
  • 湖南网站建设 尖端磐石网络百度竞价推广教程
  • 动态ip怎么建设网站哪些行业适合做seo
  • 珠海网站建设 骏域网站深圳网站优化公司
  • c 做网站怎么连接到别的网页产品关键词大全
  • 安徽省住建厅网站官网网上推
  • 申请网站主机网址导航该如何推广
  • 地方生活门户网站有哪些企业网站seo哪里好
  • 大型网站设计首页实例seo优化视频教程
  • c 网站开发简单实例国际最新新闻
  • 做影视网站该怎么发展web个人网站设计代码
  • 一个域名怎么用来做多个网站成都谷歌seo
  • 网站后台用户管理系统做网站建网站公司
  • 商城网站建设服务cps推广平台
  • 建站推广什么意思贵港网站seo
  • 厦门微网站建设爱站工具包官网下载
  • 聊城网站开发公司本周新闻热点10条
  • 在godaddy做网站贵吗电商运营培训正规平台
  • 设计公司网站建设费用手机优化器
  • 做网站需要几个服务器全网热搜榜
  • 泗水做网站图床外链生成工具
  • 网站域名放国外谷歌搜索广告优化
  • 建设网站推广广告图手机网站百度关键词排名
  • 中国电子系统建设公司网站如何加入广告联盟赚钱
  • 企业邮箱哪家比较好seo关键词优化报价
  • 武汉专注于企业网站服务网站设计与实现毕业设计
  • seo网站运营有哪些营销推广方式