1.0.0 • Published 3 years ago

@jeremypc/image-mosaic-web v1.0.0

Weekly downloads
-
License
ISC
Repository
github
Last release
3 years ago

image-mosaic-web

背景介绍

主要是为了解决前端对图片进行打马赛克,并生成相对应的文件(用于上传后台)和 base64 图片(用于前端显示)。其原理是:前端通过读取用户传入的图片地址,并把图片下载下来并使用 canvas 进行渲染,然后用户可以在 canvas 中,对图片进行任意位置的打马赛克工作,最终再把打马赛克后的图片进行输出。

项目参数

可配参数

名称描述是否必传默认值
el传入一个 canvas 标签节点-
urlcanvas 渲染的图片地址-
widthcanvas 的宽度,不传为图片原始宽度-
heightcanvas 的高度,不传为图片原始高度-
quan马赛克的大小3
num一次操作包含马赛克的个数9

可调用方法

名称描述
init()画布初始化,会检查 url 和 canvas 节点,并描绘画布
onRevoked()每次打马赛克都会记录操作,用于撤销修改
onClear()用于清空马赛克修改记录
onSave()用于导出打马赛克的目标图片,返回一个{ file, img }对象
update(url)动态更新 url 地址,会重新自动调用一次 init()方法

使用方式

  1. script 方式
// 引入js文件
<script type="text/javascript" src="index.js"></script>

// 初始化并调用
<script type="text/javascript">
  const mo = new mosaic({
    el: "canvans节点",,
    url: "图片地址"
  });
  mo.init();
</script>
  1. npm 包方式
// 安装npm包
  npm i @jeremypc/image-mosaic-web

// 项目中引入包
  import ImageMosaicWeb from "@jeremypc/image-mosaic-web"

// 初始化并调用
  const mo = new ImageMosaicWeb({
    el: "canvans节点",
    url: "图片地址"
  });
  mo.init();