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

web之标签元素转换成图片、a标签元素下载图片、获取浏览器窗口名称、重命名、元素定位、旋转、拉伸文字、文字向心对齐

文章目录

  • 准备
  • 版本二的效果图
  • 版本一
    • html
    • JavaScript
  • 版本二
    • html
    • JavaScript


准备

NPM下载指令

npm install dom-to-image

框架加载

in ES6

import domtoimage from 'dom-to-image';

in ES5

var domtoimage = require('dom-to-image');

CDN(标签)加载

案例

<script src="dist/dom-to-image.min.js"></script>

引入方式
src/dom-to-image.js

dist/dom-to-image.min.js
方法返回domtoimage对象,对象中存有对应方法。
详细文档传送门


版本二的效果图

牧马人_t


版本一

html

<!-- 需要下载的元素标签 -->
<div id="idDemo" class="w_200 h_200 d_f jc_c ai_c p_r bc_1296db"><div id="idItem" class="p_a fs_26 color_fff fw_800">1</div><div id="idItem" class="p_a fs_26 color_fff fw_800">5</div><div id="idItem" class="p_a fs_26 color_fff fw_800">2</div><div id="idItem" class="p_a fs_26 color_fff fw_800">8</div><div id="idItem" class="p_a fs_26 color_fff fw_800">9</div><div id="idItem" class="p_a fs_26 color_fff fw_800">6</div><div id="idItem" class="p_a fs_26 color_fff fw_800">8</div><div id="idItem" class="p_a fs_26 color_fff fw_800">2</div><div id="idItem" class="p_a fs_26 color_fff fw_800">5</div><div id="idItem" class="p_a fs_26 color_fff fw_800">1</div><div id="idItem" class="p_a fs_26 color_fff fw_800">7</div>
</div><!-- 下载操作 -->
<div class="m_t_68 bc_1296db radius_6 ta_c p_10 color_fff cursor_pointer" onclick="domToImg()">创建并下载图片</div>

JavaScript

/*** 实现环形文字*/
function init() {let elItem = document.querySelectorAll('#idItem'),radius = document.querySelector('#idDemo').clientWidth / 3.2,itemLen = elItem.length,pieceDeg = 360 / itemLen;for (let i = 0; i < itemLen; i++) {let t = i * pieceDeg,x = undefined,y = undefined,deg = t;t = (Math.PI / 180) * t;x = Math.sin(t) * radius;y = -Math.cos(t) * radius;elItem[i].style.transform = `translate(${x}px, ${y}px) rotate(${deg}deg) scale(2, 1)`;}
}
init();/*** 创建并下载图片*/
async function domToImg() {let idDemo = document.querySelector('#idDemo'),dataUrl = await domtoimage.toPng(idDemo, 1),a = document.createElement("a"),filename = document.title,event = new MouseEvent("click");a.download = filename;a.href = dataUrl;a.dispatchEvent(event);
}

版本二

html

<!-- 需要下载的元素标签 -->
<div id="idDemo" class="w_1000 h_1000 p_r d_f jc_c ai_c bc_f5f5f5"><div id="idItemBox" class="w_100_ h_100_ d_f jc_c ai_c p_r fs_150 fw_800 ff_NSimSun color_red wts_ffd700_3"></div><div class="p_a fs_60 fw_800 ff_NSimSun d_f"><div class="w_70 h_300 d_f ff_c jc_sb ai_c bs_bb radius_2 p_t_2 p_b_2 bc_ffd700 color_red"><div></div><div></div><div></div></div><div class="w_270 m_l_30 color_red"><div class="h_70 lh_70 tal_j bc_ffd700 radius_2 bs_bb p_l_2 p_r_2">程序员</div><div class="w_70 h_230 m_l_a m_r_a d_f ff_c jc_sb ai_c bc_ffd700 radius_bl_2 radius_br_2 bs_bb p_t_2 p_b_2"><div></div><div></div><div></div></div></div></div>
</div><!-- 下载操作 -->
<div class="m_t_68 bc_1296db radius_6 ta_c p_10 color_fff cursor_pointer" onclick="domToImg()">创建并下载图片</div>

JavaScript

/*** 实现环形文字*/
function init() {let arr = ['1', '5', '2', '8', '9', '6', '8', '2', '5', '1', '7'],idItemBox = document.querySelector('#idItemBox'),radius = document.querySelector('#idDemo').clientWidth / 3,itemLen = arr.length,pieceDeg = 360 / itemLen;for (let i = 0; i < itemLen; i++) {let div = document.createElement('div'),t = i * pieceDeg,x = undefined,y = undefined,deg = t;t = (Math.PI / 180) * t;x = Math.sin(t) * radius;y = -Math.cos(t) * radius;// bc_409effdiv.className = 'p_a';div.style.transform = `translate(${x}px, ${y}px) rotate(${deg}deg) scale(2, 1)`;div.innerText = arr[i];idItemBox.append(div);}
}init();/*** 创建并下载图片*/
async function domToImg() {let idDemo = document.querySelector('#idDemo'),dataUrl = await domtoimage.toPng(idDemo, 1),a = document.createElement("a"),filename = document.title,event = new MouseEvent("click");a.download = filename;a.href = dataUrl;a.dispatchEvent(event);
}
http://www.lryc.cn/news/100335.html

相关文章:

  • 你应该知道的关于PCB布线的31条建议
  • matlab中dir的各种使用方法(包括递归遍历子文件夹)
  • 软件测试/测试开发丨Selenium环境安装与使用
  • WPF实战学习笔记15-使用Memo类的GetAll接口
  • 算法与数据结构-二分查找
  • 【软件测试】什么是selenium
  • redis线程模型
  • 【idea工具】idea工具,build的时候提示:程序包 com.xxx.xx不存在的错误
  • 线性代数——特征值和特征向量
  • 运筹系列83:使用分枝定界求解tsp问题
  • linux 指令 第3期
  • 测试用例实战
  • Unity XML1——XML基本语法
  • 了解Unity编辑器之组件篇Playables和Rendering(十)
  • python的包管理器pip安装经常失败的解决办法:修改pip镜像源
  • 忘记安卓图案/密码锁如何解锁?
  • Bash编程
  • vue指令-v-model修饰符
  • 【论文精读CVPR_2023】3D-Aware Face Swapping
  • flutter开发实战-自定义相机camera功能
  • 重排链表——力扣143
  • Lambda表达式常见的Local variable must be final or effectively final原因及解决办法
  • YOLOv5改进系列(16)——添加EMA注意力机制(ICASSP2023|实测涨点)
  • [SSM]GoF之代理模式
  • 桥梁安全生命周期监测解决方案
  • 图技术在 LLM 下的应用:知识图谱驱动的大语言模型 Llama Index
  • SpringBoot自动配置、启动器原理爆肝解析(干货满满)
  • chrome扩展控制popup页面动态切换
  • 【AI】《动手学-深度学习-PyTorch版》笔记(三):PyTorch常用函数
  • 某文化馆三维建模模型-glb格式-三维漫游-室内导航测试