2.0.3 • Published 1 year ago

js-watermarker v2.0.3

Weekly downloads
-
License
MIT
Repository
github
Last release
1 year ago

js-watermarker

👏 版本更新 Version Up👏

v1.x 仅支持设一个水印(可以更新水印的设置)
v1.x only one watermark can be set (can update setting options)
v1.x 1 つだけウォーターマーク設定できる

v2.x 支持创建多个实例,分别给页面多多个元素设置不同水印
v2.x support multi-instance to set different wartermarks for different elements
v2.x 複数インスタンスの作成で、複数のウォーターマークを追加できる

v2.0.1 支持设置图片水印 v2.0.1 watermark for image v2.0.1 イメージにウォーターマーク

安装 | Install | インストール

npm i js-watermarker
# or
yarn add js-watermarker

使用 | Usage | 使い方

v1.x

import setWatermark from "js-watermarker";

setWatermark({
  content: "@码路工人",
});

v2.x

key code:

import watermarker from "js-watermarker";

// onMounted
marker = watermarker.init(watermarkRef);
marker.setOption(options);

In Vue3 project:

<template>
  <div ref="watermarkRef">
    <!-- maybe have some contents here -->
  </div>
</template>

<script>
import { onMounted } from 'vue';
import watermarker from "js-watermarker";

export default {
  name: "ComponentName",
  setup() {
    let marker = null;
    const states = reactive({
      watermarkRef: null,

      // could be no-reactive
      options: {
        // content could be String or Array
        content: ['Hello World', 'Wartermark Demo'],
        // textStyle object
        textStyle: {
          left: 20,
          top: 100,
          rotate: -10,
          align: "left",
          fontSize: 16,
          lineHeight: 25,
          color: "#fee0b9",
          alpha: 1,
        },
        // imageStyle object
        imageStyle: {
          width: 400,
          height: 300,
          position: "left top",
          repeat: "repeat",
        },
      },
    });
  },
  onMounted(() => {
    marker = watermarker.init(states.watermarkRef);

    marker.setOption(states.options);
  })
};
</script>

配置对象 | API | 設定項目明細

详细设置项可参考 Demo 页面中生成的配置 JSON

For more details, see JSON generated in Demo page.

設定項目明細は下記 オンライン サンプル ページ 参照:
Demo

Methods

方法名 Method说明 Description参数 Parameters返回值 Returns
init初始化获取实例Initialize to get instancetargetElement: HTMLElementWatermarker 实例instance of Watermarker
setOption设置或更新水印show wartermark with options specified, also for updateoptions: Object-
clear清除水印remove watermark--

options properties

属性名 Property 属性说明 Note  説明类型 Type タイプ・型是否必须  Required  必須可选值 Values 設定値默认值 Default デフォルト値
content水印文字内容String / ArrayRequired
targetElement(removed in v2)要加水印的对象元素null / HTMLElementOptionaldocument.body
textStyle水印文字的相关属性ObjectOptional
imageStyle水印图片的相关属性ObjectOptional

textStyle properties

属性名 Property 属性说明 Note  説明类型 Type タイプ・型是否必须  Required  必須可选值 Values 設定値默认值 Default デフォルト値
left水印文字的起始横坐标IntegerOptional20
top水印文字的起始纵坐标当文字倾斜致显示切字时适当增大该值IntegerOptional20
color水印文字的颜色当颜色使用rgba时已含透明度故无需单独的透明度设置(默认为 1),如果同时设置将同时起作用StringOptionalrgba(150, 150, 150, .15)
alpha单独设置的透明color使用了纯色,可单独设置该值控制透明度FloatOptional1
align文字排版StringOptionalleft/right/centerleft
fontFamily字体StringOptional"PingFang SC","Lantinghei SC","Microsoft YaHei",arial,"MS Gothic","\5b8b\4f53",sans-serif,tahoma
fontSize字号IntegerOptional16
rotate文字倾斜IntegerOptional0
lineHeight多行文本时用于累加的行高IntegerOptional25

imageStyle properties

属性名 Property 属性说明 Note  説明类型 Type タイプ・型是否必须  Required  必須可选值 Values 設定値默认值 Default デフォルト値
width水印图片宽度IntegerOptional200
height水印图片高度IntegerOptional200
position水印图片排版StringOptional"x y" (x y:left/top/center)"left top"
repeat水印图片重复StringOptionalrepeat / no-repeatrepeat

功能简介(特色) | Feature | 機能概要(特色)

添加水印
Add watermark to page/element
画面要素に ウォーターマーク を追加

  • 可配置化,基本能满足多种样式需求
    • 可指定为页面元素添加水印
    • 默认添加到 body,也可指定其它页面元素(如图片)
    • 可指定文字内容,支持换行
    • 支持设置水印颜色、位置、倾斜角度及是否重复水印等
  • 可实时动态修改水印配置
  • 水印防删除
  • 可在线(示例地址)查看调整效果
  • v2.x 支持给多个元素分别设置不同水印

纯 js 实现,无任何其它依赖

查看 Demo | Example | サンプル

本地启动 | To develop | 起動

npm run dev
# or
yarn dev

# or 编译后启动 | start after build | ビルドしてからプレビューで起動
npm run preview
# or
yarn preview

npm.io

npm.io npm.io npm.io

Note:
给跨域图片加水印文字需要资源服务器侧设Access-Control-Allow-Origin,同时img标签设crossorigin="anonymous"

在线示例 | demo online | オンライン Demo

codermonkie.github.io/js-watermarker

coder-monkey.gitee.io/js-watermarker

版权 | License | ライセンス

MIT


TODO
x refactor and multi-instance support in v2.0 (issue#2)
query selector support for init method in v2.0 (issue#3)

2.0.3

1 year ago

2.0.2

3 years ago

2.0.1

3 years ago

1.0.6

3 years ago

1.0.5

3 years ago

2.0.0

3 years ago

1.0.4

3 years ago

1.0.2

3 years ago

1.0.1

3 years ago

1.0.0

3 years ago