html2canvas 简介

html2canvas 顾名思义,就是一个可以把 DOM 元素转换成图片的类库,常用于网页截图。网页截图常见的应用场景是,在意见反馈里对当前页面进行截图,方便反馈页面出现的问题,比如页面样式出错,举报网站上的违规行为等等。

除了截图外,还可以用来制作一些在线生成图片的功能,比如这个在线生成条形图。

做一个诗词卡片生成工具

所谓诗词卡片生成工具,就是能把某一首诗词,生成一张精美的诗词卡片。当然对于不懂设计的我来说,想要做到精美有点困难。

实现原理是,利用富文本编辑器,让用户输入诗词,生成 HTML,再通过 html2canvas 把 HTML 生成图片。

大致实现

安装依赖。wangeditor 是一个比较不错的富文本编辑器,至少界面不会太丑。

npm install html2canvas --save-dev

npm install wangeditor--save-dev

把 wangeditor 封装成 Vue 组件。

import E from 'wangeditor'

export default {

data() {

return {

editorContent: ''

}

},

props: {

value: {

type: String,

default: ''

}

},

mounted() {

this.editorContent = this.value

this.editor = new E('#editorElem')

this.editor.customConfig.onchange = html => {

this.editorContent = html

this.$emit('input', this.editorContent)

}

this.editor.create()

this.editor.txt.html(this.editorContent)

},

destroyed() {

// this.editor.destroy()

}

}

把用户输入的富文本,保存在一个 div 里面。captureStyle 是用户设置的卡片的样式。

最后利用 html2canvas 生成卡片,供用户下载。

html2canvas(document.querySelector('#capture')).then(canvas => {

let img = canvas.toDataURL('image/png')

// 显示图片

})

最终效果:

HTML制作诗词,利用 html2canvas 做个简单的诗词卡片生成器相关推荐

  1. python自己做个定时器_技术图文:如何利用 Python 做一个简单的定时器类?

    原标题:技术图文:如何利用 Python 做一个简单的定时器类? 背景 今天在B站上看有关 Python 最火的一个教学视频 -- "零基础入门学习 Python",这也是我们 P ...

  2. 利用Python做一个简单的对战小游戏

    利用Python做一个简单的文字对战小游戏 一.游戏介绍 1.大体介绍:文字版的对战小游戏,可以利用Python随机生成两个角色,角色带有各自的血量和攻击值两个指标.两人在对战时同时攻击对方,同时造成 ...

  3. 技术图文:如何利用 Python 做一个简单的定时器类?

    背景 今天在B站上看有关 Python 最火的一个教学视频,零基础入门学习 Python,这也是我们 Python基础刻意练习活动 的推荐视频教程. 在学习魔法方法的时候,有一节视频是制作一个简单的定 ...

  4. 利用python做一个简单小应用--学生通讯录管理系统

    该简单学生通讯录管理系统六个可操作过程 1.添加学生 2.删除学生 3.修改学生 4.查询学生 5.获取所有学生通讯信息 6.退出系统 话不多说,上代码 # -*- codeing = utf-8 - ...

  5. 利用java做一个简单的计算器

    共两个类.还只是完成+.-.×.÷运算而已. GUI只是用了AWT,很简单,相信一看就能懂了. Calculator.java public class Calculator{ private Str ...

  6. 利用pytorch 做一个简单的神经网络实现sklearn库中莺尾花的分类

    本文针对本人学习pytorch的分类问题,自己写了一个简单的code import numpy as np from collections import Counter from sklearn i ...

  7. python开发酷q插件gui_【酷Q插件制作】教大家做一个简单的签到插件

    .版本 2.支持库 internet .程序集 程序集1 .子程序 _启动子程序, 整数型, , 请在本子程序中放置易模块初始化代码 _临时子程序 ()'在初始化代码执行完毕后调用测试代码 返回 (0 ...

  8. android用kotlin制作计算器,使用Kotlin做一个简单计算器

    样式如下图: 1.布局文件: xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http: ...

  9. 利用Python做一个简单的打印店计费程序

    我自己买了一个打印机,除了自己用,打算方便大家,为大家提供付费打印服务. 按张数 x 计费: 1.你有纸,每张0.2元:0.2 * x 2.没纸,我有纸,分段计费: (1)1到20张,每张0.3元:0 ...

  10. 利用OpenCV做个熊猫表情包吧

    有的时候很想把一些有意思的图中的人脸做成熊猫表情,但是由于不太会ps,只能无奈放弃,so sad... 正好最近想了解下opencv的使用,那就先试试做个简单的熊猫表情生成器把~~ 思路就是,工具给两 ...

最新文章

  1. 前端使用 Nginx 反向代理彻底解决跨域问题
  2. 用表格布局2个链接6个图片
  3. Worker Service in ASP .NET Core
  4. 列表解析和生成器表达式
  5. 关于能否命令Scrum团队的对话
  6. 使用cpan安装perl模块
  7. 通过Service访问应用 (2)
  8. [css] 一个项目中有很多无用的css代码,怎么找到并清除这些无用的代码?
  9. 论文浅尝 | Data Intelligence第4期正式上线啦
  10. js实现页面滚动,切换导航栏/点击导航栏跳转到指定位置
  11. windows超级工具AlantopTool
  12. 共阳极数码管显示0~9_《显示器件应用分析精粹》之(3)数码管静态显示
  13. 史上最全最实用的生活小窍门
  14. xm-select的简单使用
  15. 清除APP 数据的时候出现Crash的情况分析
  16. 第三届大湾区杯B题思路及代码-基于宏观经济周期的大类资产配置策略构建
  17. EJB:First component in name xxx not found - Java / Java EE
  18. 诺丁汉大学计算机专业怎样,诺丁汉大学计算机科学专业怎么样 雅思成绩要求如何...
  19. 四、软件概要设计说明书-模板
  20. (复习)基础算法--搜索--深入训练(USACO-Feb08、WOW模拟赛Day2-T4、USACO-Dec13、CTSC-1999)

热门文章

  1. 计算机毕业设计-基于ssm的手机商城系统(文档+源码)
  2. 优达(Udacity)customer_segments
  3. 一维条码之code93码的生成和打印
  4. 站在Stay老司机肩膀上分析Retrofit
  5. 电子祝福贺卡小程序有哪些?
  6. Spring Boot 整合 AWS S3协议 OSS功能 支持 七牛、阿里、Minio等一切支持S3协议的云厂商
  7. python有理数_Python3标准库:fractions有理数
  8. 新浪云存储 php,【PHP】新浪云SAE平台将本地图片和远程图片保存至Storage
  9. 企业思想家:专家详解元宇宙逻辑和产业机会 (5000余字)
  10. 低功耗计算机视觉技术前沿,四大方向,追求更小、更快、更高效