# canvas-barrage

> [![Build Status](https://travis-ci.org/zhaofinger/canvas-barrage.svg?branch=master)](https://travis-ci.org/zhaofinger/canvas-barrage)

Latest version **1.1.2** (published 2018-02-22) · ISC license · 0 weekly downloads

## Install

```sh
npm install canvas-barrage
pnpm add canvas-barrage
yarn add canvas-barrage
bun add canvas-barrage
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.1.2 |
| Published | 2018-02-22 |
| First published | 2017-12-01 |
| Weekly downloads | 0 |
| License | ISC |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 0 |
| Unpacked size | 99.9 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 17 |
| Author | zhaofinger |
| Maintainers | zhaofinger |
| Keywords | barrage, canvas |

## Links

- npm: https://www.npmjs.com/package/canvas-barrage
- Repository: https://github.com/zhaofinger/canvas-barrage
- Homepage: https://github.com/zhaofinger/canvas-barrage#readme
- Issues: https://github.com/zhaofinger/canvas-barrage/issues
- npm.io page: https://npm.io/package/canvas-barrage

## Alternatives

- [exif-parser](https://npm.io/package/exif-parser.md) — 3.8M weekly downloads
- [vite-plugin-compression](https://npm.io/package/vite-plugin-compression.md) — 569.5K weekly downloads
- [pica](https://npm.io/package/pica.md) — 442.4K weekly downloads
- [@reportportal/client-javascript](https://npm.io/package/@reportportal/client-javascript.md) — 408.8K weekly downloads
- [@tldraw/state](https://npm.io/package/@tldraw/state.md) — 316.0K weekly downloads

## Recent versions

- 1.1.2 (latest) — 2018-02-22
- 1.1.1 — 2018-02-22
- 1.1.0 — 2018-02-22
- 1.0.7 — 2017-12-05
- 1.0.6 — 2017-12-04
- 1.0.5 — 2017-12-04
- 1.0.4 — 2017-12-03
- 1.0.3 — 2017-12-03
- 1.0.2 — 2017-12-01
- 1.0.1 — 2017-12-01
- 1.0.0 — 2017-12-01

## README

# canvas-barrage

[![Build Status](https://travis-ci.org/zhaofinger/canvas-barrage.svg?branch=master)](https://travis-ci.org/zhaofinger/canvas-barrage)

一个基于canvas的弹幕发射器，查看[线上demo](https://zhaofinger.github.io/canvas-barrage/index.html)

## Build

- installation dependence
    ```bash
    yarn // or npm install
    ```

- build for es5
    ```bash
    gulp build_es5
    ```

- build for es6
    ```bash
    gulp build_es6
    ```

## Usage

- used in es5
    ```html
    <canvas width='700' height='400'></canvas>
    <script src="../dist/index.js"></script>
    <script>
        let canvasEle = document.querySelector('canvas')
        let barrage = new Barrage(canvasEle)
        barrage.pushMessage({text: '弹幕发射，biu'})
    </script>
    ```
- used in es6
    1. install package
        ```bash
        yarn add canvas-barrage // or npm install canvas-barrage
        ````
    1. use
        ```html
        <canvas width='700' height='400'></canvas>
        <script>
            import Barrage from 'canvas-barrage'
            let canvasEle = document.querySelector('canvas')
            let barrage = new Barrage(canvasEle)
            barrage.pushMessage({text: '弹幕发射，biu'})
        </script>
        ```

## Apis

- `new Barrage(options)` - 构造函数，初始化

    | # | name | type | default | desc |
    | :--- | :--- |:--- | :--- | :--- |
    | 1 | `canvasDom` | `object` | `null` | 必填，`canvas` dom对象 |
    | 2 | `msgStackLength` | `number` | `300` | 最多弹幕数 |
    | 3 | `fontSize` | `number` | `10` | 字体大小 |

- `.pushMessage(options)` - 发送弹幕

    | # | name | type | default | desc |
    | :--- | :--- |:--- | :--- | :--- |
    | 1 | `text` | `string` | '' | 必填，弹幕文字内容 |
    | 2 | `color` | `string` | 随机色 | 弹幕颜色，非指定的情况下随机取色 |
    | 3 | `speed` | `number` | 2到4的随机色 | 弹幕移动速度 |

- `.clear()` - 清除

- `.close()` - 关闭弹幕

- `.open()` - 开启弹幕

---
_Source: https://npm.io/package/canvas-barrage · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
