1.0.101 • Published 7 days ago

@thi.ng/rasterize v1.0.101

Weekly downloads
-
License
Apache-2.0
Repository
github
Last release
7 days ago

rasterize

npm version npm downloads Twitter Follow

This project is part of the @thi.ng/umbrella monorepo.

About

2D shape drawing & rasterization.

The functions in this package can be used with any IGrid2D compatible grid/image type (e.g. those provided by @thi.ng/pixel or @thi.ng/text-canvas).

Currently the following functions are available:

Circle

Filled or outline implementation of Bresenham's circle algorithm. A clipping check is pre-applied to see if the circle lies entirely outside the target grid.

Line

Implementation of Bresenham's line algorithm with pre-applied Liang-Barsky clipping. The higher-order function drawLineWith() can be used to apply custom brushes to trace the line.

Rect

Filled or outline implementation with pre-applied clipping against the target grid.

Flood fill

Fills grid in the connected region around x,y with given value or pattern. See floodFill() in the @thi.ng/grid-iterators package for further details.

Status

ALPHA - bleeding edge / work-in-progress

Search or submit any issues for this package

Related packages

  • @thi.ng/grid-iterators - 2D grid and shape iterators w/ multiple orderings
  • @thi.ng/pixel - Typedarray integer & float pixel buffers w/ customizable formats, blitting, drawing, convolution
  • @thi.ng/text-canvas - Text based canvas, drawing, tables with arbitrary formatting (incl. ANSI/HTML)

Installation

yarn add @thi.ng/rasterize

ES module import:

<script type="module" src="https://cdn.skypack.dev/@thi.ng/rasterize"></script>

Skypack documentation

For Node.js REPL:

# with flag only for < v16
node --experimental-repl-await

> const rasterize = await import("@thi.ng/rasterize");

Package sizes (gzipped, pre-treeshake): ESM: 669 bytes

Dependencies

API

Generated API docs

TODO

Authors

Karsten Schmidt

If this project contributes to an academic publication, please cite it as:

@misc{thing-rasterize,
  title = "@thi.ng/rasterize",
  author = "Karsten Schmidt",
  note = "https://thi.ng/rasterize",
  year = 2021
}

License

© 2021 Karsten Schmidt // Apache Software License 2.0

1.0.101

7 days ago

1.0.100

9 days ago

1.0.99

12 days ago

1.0.98

21 days ago

1.0.97

24 days ago

1.0.96

1 month ago

1.0.95

1 month ago

1.0.94

1 month ago

1.0.93

1 month ago

1.0.92

1 month ago

1.0.91

2 months ago

1.0.90

2 months ago

1.0.89

2 months ago

1.0.88

2 months ago

1.0.87

2 months ago

1.0.86

2 months ago

1.0.85

2 months ago

1.0.84

2 months ago

1.0.83

2 months ago

1.0.82

2 months ago

1.0.81

2 months ago

1.0.80

2 months ago

1.0.78

3 months ago

1.0.77

3 months ago

1.0.76

3 months ago

1.0.73

3 months ago

1.0.75

3 months ago

1.0.74

3 months ago

1.0.71

3 months ago

1.0.70

3 months ago

1.0.69

4 months ago

1.0.68

4 months ago

1.0.66

5 months ago

1.0.65

5 months ago

1.0.67

5 months ago

1.0.64

5 months ago

1.0.63

5 months ago

1.0.62

5 months ago

1.0.61

5 months ago

1.0.60

6 months ago

1.0.33

10 months ago

1.0.37

9 months ago

1.0.36

9 months ago

1.0.34

9 months ago

1.0.39

9 months ago

1.0.38

9 months ago

1.0.40

8 months ago

1.0.44

8 months ago

1.0.43

8 months ago

1.0.42

8 months ago

1.0.41

8 months ago

1.0.48

7 months ago

1.0.47

8 months ago

1.0.46

8 months ago

1.0.45

8 months ago

1.0.49

7 months ago

1.0.51

7 months ago

1.0.50

7 months ago

1.0.55

6 months ago

1.0.54

6 months ago

1.0.53

6 months ago

1.0.52

6 months ago

1.0.59

6 months ago

1.0.57

6 months ago

1.0.56

6 months ago

1.0.32

11 months ago

1.0.31

12 months ago

1.0.29

1 year ago

1.0.30

1 year ago

1.0.22

1 year ago

1.0.26

1 year ago

1.0.25

1 year ago

1.0.24

1 year ago

1.0.23

1 year ago

1.0.28

1 year ago

1.0.27

1 year ago

1.0.21

1 year ago

1.0.20

1 year ago

1.0.19

1 year ago

1.0.18

1 year ago

1.0.16

1 year ago

1.0.11

1 year ago

1.0.15

1 year ago

1.0.14

1 year ago

1.0.13

1 year ago

1.0.12

1 year ago

1.0.2

2 years ago

1.0.1

2 years ago

1.0.9

1 year ago

1.0.8

1 year ago

1.0.7

2 years ago

1.0.6

2 years ago

1.0.5

2 years ago

1.0.4

2 years ago

1.0.3

2 years ago

1.0.10

1 year ago

1.0.0

2 years ago

0.3.20

2 years ago

0.3.19

2 years ago

0.3.17

2 years ago

0.3.16

2 years ago

0.3.15

2 years ago

0.3.14

2 years ago

0.3.13

2 years ago

0.3.12

2 years ago

0.3.18

2 years ago

0.3.9

2 years ago

0.3.11

2 years ago

0.3.10

2 years ago

0.3.8

2 years ago

0.3.7

2 years ago

0.3.6

2 years ago

0.3.0

2 years ago

0.2.0

2 years ago

0.3.5

2 years ago

0.3.2

2 years ago

0.3.1

2 years ago

0.3.4

2 years ago

0.3.3

2 years ago

0.1.1

2 years ago

0.1.0

2 years ago