# image-mosaic

> Set image mosaic.

Latest version **1.0.4** (published 2018-01-22) · ISC license · 0 weekly downloads

## Install

```sh
npm install image-mosaic
pnpm add image-mosaic
yarn add image-mosaic
bun add image-mosaic
```

## 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.0.4 |
| Published | 2018-01-22 |
| First published | 2018-01-21 |
| Weekly downloads | 0 |
| License | ISC |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 0 |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 29 |
| Author | zark |
| Maintainers | zsk526 |
| Keywords | mosaic |

## Links

- npm: https://www.npmjs.com/package/image-mosaic
- Repository: https://github.com/zhengsk/image-masaic
- Homepage: https://github.com/zhengsk/image-masaic#readme
- Issues: https://github.com/zhengsk/image-masaic/issues
- npm.io page: https://npm.io/package/image-mosaic

## Recent versions

- 1.0.4 (latest) — 2018-01-22
- 1.0.3 — 2018-01-22
- 1.0.2 — 2018-01-22
- 1.0.1 — 2018-01-21
- 1.0.0 — 2018-01-21

## README

# image-mosaic

Set mosaic to image by canvas.

```javascript
    import Mosaic from 'image-mosaic';

    const canvas = document.querySelector('#canvas');
    const ctx = canvas.getContext('2d');

    const mosaic =  new Mosaic(ctx, {
        tileWidth: 10,
        tileHeight: 10,
        brushSize: 3,
    });

    // Mosaic on full image.
    mosaic.drawAllTiles();
```


# Instance property

```javascript
{
    context, // canvas context.
    imageData, // canvas image data.
    width, // canvas width.
    height, // canvas height.
    tileWidth,
    tileHeight,
    tileRowSize, // tile count in a row.
    tileColumnSize, // tile count in a column.
    tiles: [ // tiles.
        {
            row, // tile row position.
            column, // tile column position.
            pixelWidth, // tile pixel number.
            pixelHeight, // tile pixel number.
            data, // tile data.
            color,
            isFilled,
        }, ...
    ]
}
```


# Methods

```js
    mosaic.drawTile(tiles);

    mosaic.drawTileByPoint(x, y);

    mosaic.getTilesByPoint(x, y, isBrushSize);

    mosaic.drawAllTiles();

    mosaic.eraseTile(tiles);

    mosaic.eraseTileByPoint(x, y, isBrushSize);

    mosaic.eraseAllTiles();
```


[Demon Page](https://zhengsk.github.io/image-masaic/dist/index.html)

![Demon image](https://raw.githubusercontent.com/zhengsk/image-masaic/master/src/images/demo.gif)

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