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

网站开发的岗位在线做漫画网站

网站开发的岗位,在线做漫画网站,海外网站建站,wordpress常量目录 前言 1、将当前窗口截图,并将数据存储下来 2、定义将base64转png的方法 3、完整代码 总结 前言 记录来源于需求 1、将当前窗口截图,并将数据存储下来 export default { data() {return {image: // 存储数据} }mounted() {setTimeout(() >…

目录

前言

1、将当前窗口截图,并将数据存储下来

2、定义将base64转png的方法

3、完整代码

总结


前言

记录来源于需求


1、将当前窗口截图,并将数据存储下来

export default {
data() {return {image: '' // 存储数据}
}mounted() {setTimeout(() => {// 拿到当前dom里 你需要截取的位置的idconst dom = document.querySelector("#cesium canvas");if (dom) {// 将选择的dom元素转换为PNG格式的DataURL字符串,打印出来是base64数据this.image = dom.toDataURL("image/png");}},500)}
}

2、定义将base64转png的方法

methods: {base64ImgtoFile(dataurl, filename = "file") {return new Promise((resolve, reject) => {const image = new Image();image.src = dataurl;image.onload = () => {const canvas = document.createElement("canvas");canvas.width = image.width;canvas.height = image.height;const context = canvas.getContext("2d");context.drawImage(image, 0, 0);canvas.toBlob((blob) => {const file = new File([blob], `${filename}.png`, {type: "image/png"});resolve(file);}, "image/png");};image.onerror = (error) => reject(error);});},async convertBase64ToPNG(dataurl, fileName) {try {const file = await this.base64ImgtoFile(dataurl, fileName);// 使用转换后的文件进行后续操作return file;} catch (error) {console.error(error);}},
}

3、完整代码

<template><el-button @click="handleSaveMap">提交</el-button>
</template><script>
export default {data() {return {image: "" // 存储数据};},mounted() {setTimeout(() => {// 拿到当前dom里 你需要截取的位置的idconst dom = document.querySelector("#cesium canvas");if (dom) {// 将选择的dom元素转换为PNG格式的DataURL字符串,打印出来是base64数据this.image = dom.toDataURL("image/png");}}, 500);},methods: {base64ImgtoFile(dataurl, filename = "file") {return new Promise((resolve, reject) => {const image = new Image();image.src = dataurl;image.onload = () => {const canvas = document.createElement("canvas");canvas.width = image.width;canvas.height = image.height;const context = canvas.getContext("2d");context.drawImage(image, 0, 0);canvas.toBlob((blob) => {const file = new File([blob], `${filename}.png`, {type: "image/png"});resolve(file);}, "image/png");};image.onerror = (error) => reject(error);});},async convertBase64ToPNG(dataurl, fileName) {try {const file = await this.base64ImgtoFile(dataurl, fileName);// 使用转换后的文件进行后续操作return file;} catch (error) {console.error(error);}},// 存储数据到服务端async generateImages(image) {const file = new FileReader(); // 创建对象file.readAsDataURL(image); // 读取文件const res = await uploadApi.uploadImage(image); // 对接上传接口const { object, msg, success } = res.data;if (success) {this.areaPicture = object.key;} else this.$message.error(msg);},// 保存数据async handleSaveMap() {const loading = this.$loading({lock: true,text: "保存中,请稍后...",spinner: "el-icon-loading",background: "rgba(0, 0, 0, 0.7)"});// 截取当前窗口数据await this.screenshotView();// 转换当前base64图片数据为pnglet image = await this.convertBase64ToPNG(this.image, this.mapName);// 存储到服务端if (image) {await this.generateImages(image);console.log(this.areaPicture, "this.areaPicture");}loading.close();}}
};
</script>

总结

对你有帮助的话 点点赞吧~

http://www.sczhlp.com/news/59288/

相关文章:

  • 南昌做网站的流程wordpress配置环境
  • wordpress建好站了打不开首页高负载php网站开发
  • 网站改版专题页浙江省网站建设与管理试卷
  • 网站cdn+自己做农产品销售网站建设方案
  • 在 Android 中本地运行 VS code 实现方法
  • 比特币学习杂记
  • 比特币学习之密码学原理
  • 比特币学习之共识协议
  • 比特币学习之基本数据结构
  • 打开一个网站在建设中广告设计平面设计软件
  • vuejs做视频网站深圳做商城网站
  • 如何在国外网站做推广软件工程师怎么学
  • 网站开发优势电子商务网站规划设计方案
  • 做网上卖酒的网站有几家WordPress评论昵称显示错误
  • 有机玻璃制品 东莞网站建设如何套用网站模板
  • 汇编快速入门
  • 网站构架图怎么做做网站要学些什么软件
  • 问答类网站怎么做啊公司做网站
  • 昆明网站优化推广平台wordpress建网站详细教程
  • 福州网站制作服务东门网
  • 二次网站开发网站开发的好处和弊端
  • 网站如何优化流程做网页要去哪个网站
  • 公司网站建设文章在兔展上怎么做网站页面
  • 医院网站怎么做钱包网站建设
  • 网站首页的优化佛山高端网站开发公司
  • # 兽音译者编码实现
  • 配眼镜
  • 中国AI HR市场风云:六大厂商竞逐,易路何以独占鳌头?
  • grpc 交叉编译
  • 昆明设计网站建设科技袁人袁岚峰