2.1.160 • Published 3 months ago

@thi.ng/pixel-io-netpbm v2.1.160

Weekly downloads
-
License
Apache-2.0
Repository
github
Last release
3 months ago

pixel-io-netpbm

npm version npm downloads Twitter Follow

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

About

Multi-format NetPBM reader & writer support for @thi.ng/pixel.

This package can read & write binary NetPBM image formats from byte arrays/buffers to @thi.ng/pixel pixel buffers (aka PackedBuffer).

Source formatDestination formatRec. file extension(1)
1 bitGRAY8(2).pbm
2-8 bit grayscaleGRAY8.pgm
9-16 bit grayscaleGRAY16.pgm
24 bit RGBARGB8888.ppm

(1) no relevance to actual parse/export logic (2) currently no support for actual 1-bit pixel buffers

Furthermore the parseHeader() function can be used to just extract image type, size and other meta data (from comments), without parsing the full image.

Status

STABLE - used in production

Search or submit any issues for this package

Installation

yarn add @thi.ng/pixel-io-netpbm

ES module import:

<script type="module" src="https://cdn.skypack.dev/@thi.ng/pixel-io-netpbm"></script>

Skypack documentation

For Node.js REPL:

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

> const pixelIoNetpbm = await import("@thi.ng/pixel-io-netpbm");

Package sizes (gzipped, pre-treeshake): ESM: 1.36 KB

Dependencies

API

Generated API docs

import * as pbm from "@thi.ng/pixel-io-netpbm";
import * as fs from "fs";

const src = fs.readFileSync("a.pbm");
// <Buffer 50 34 0a 23 20 67 65 6e 65 72 61 74 65 64 20 62 79...>

// parse image header data
// P4 type => 1bit bitmap
pbm.parseHeader(src)
// {
//     type: 'P4',
//     width: 12,
//     height: 8,
//     max: undefined,
//     start: 47,
//     comments: [ 'generated by @thi.ng/pixel-io-netpbm' ]
// }

const img = pbm.read(src);
// IntBuffer {
//   width: 12,
//   height: 8,
//   format: [Object],
//   data: Uint8Array(96) [
//     255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
//     255, 255, 255,   0,   0, 255, 255, 255, 255, 255,   0, 255,
//     255, 255,   0,   0,   0,   0, 255, 255, 255,   0,   0, 255,
//     255,   0,   0, 255, 255,   0,   0, 255,   0,   0,   0, 255,
//     255,   0,   0,   0,   0,   0,   0, 255,   0,   0,   0, 255,
//     255,   0,   0, 255, 255,   0,   0, 255, 255,   0,   0, 255,
//     255,   0,   0, 255, 255,   0,   0, 255, 255, 255,   0, 255,
//     255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255
//   ]
// }

// convert to RGB image and export w/ additional meta data
// (will be stored in PBM header comments)
fs.writeFileSync(
    "a-rgb.ppm",
    pbm.asPPM(
        img.as(RGB888),
        [
            "@prefix dc: http://purl.org/dc/terms/",
            "dc:created 2021-02-08",
            "dc:creator toxi"
        ]
    )
);

Authors

Karsten Schmidt

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

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

License

© 2021 Karsten Schmidt // Apache Software License 2.0

2.1.160

3 months ago

2.1.159

4 months ago

2.1.158

4 months ago

2.1.157

4 months ago

2.1.154

5 months ago

2.1.156

4 months ago

2.1.155

5 months ago

2.1.153

5 months ago

2.1.152

5 months ago

2.1.151

6 months ago

2.1.150

6 months ago

2.1.149

6 months ago

2.1.148

7 months ago

2.1.147

7 months ago

2.1.132

12 months ago

2.1.131

12 months ago

2.1.134

11 months ago

2.1.133

12 months ago

2.1.136

11 months ago

2.1.135

11 months ago

2.1.138

11 months ago

2.1.137

11 months ago

2.1.139

11 months ago

2.1.141

10 months ago

2.1.140

10 months ago

2.1.143

10 months ago

2.1.142

10 months ago

2.1.145

9 months ago

2.1.144

9 months ago

2.1.146

9 months ago

2.1.130

1 year ago

2.1.129

1 year ago

2.1.128

1 year ago

2.1.127

1 year ago

2.1.126

1 year ago

2.1.125

1 year ago

2.1.124

1 year ago

2.1.123

1 year ago

2.1.122

1 year ago

2.1.121

1 year ago

2.1.120

1 year ago

2.1.119

1 year ago

2.1.118

1 year ago

2.1.117

1 year ago

2.1.116

1 year ago

2.1.115

1 year ago

2.1.114

1 year ago

2.1.113

1 year ago

2.1.112

1 year ago

2.1.111

1 year ago

2.1.109

1 year ago

2.1.108

1 year ago

2.1.110

1 year ago

2.1.107

1 year ago

2.1.106

1 year ago

2.1.105

1 year ago

2.1.104

1 year ago

2.1.103

1 year ago

2.1.101

1 year ago

2.1.100

1 year ago

2.1.102

1 year ago

2.1.98

1 year ago

2.1.97

1 year ago

2.1.96

1 year ago

2.1.95

1 year ago

2.1.94

2 years ago

2.1.92

2 years ago

2.1.93

2 years ago

2.1.90

2 years ago

2.1.91

2 years ago

2.1.89

2 years ago

2.1.87

2 years ago

2.1.88

2 years ago

2.1.85

2 years ago

2.1.86

2 years ago

2.1.83

2 years ago

2.1.81

2 years ago

2.1.82

2 years ago

2.1.80

2 years ago

2.1.59

2 years ago

2.1.69

2 years ago

2.1.67

2 years ago

2.1.68

2 years ago

2.1.65

2 years ago

2.1.66

2 years ago

2.1.63

2 years ago

2.1.64

2 years ago

2.1.62

2 years ago

2.1.60

2 years ago

2.1.78

2 years ago

2.1.79

2 years ago

2.1.76

2 years ago

2.1.77

2 years ago

2.1.74

2 years ago

2.1.75

2 years ago

2.1.72

2 years ago

2.1.73

2 years ago

2.1.70

2 years ago

2.1.71

2 years ago

2.1.58

2 years ago

2.1.56

2 years ago

2.1.57

2 years ago

2.1.54

2 years ago

2.1.55

2 years ago

2.1.52

2 years ago

2.1.53

2 years ago

2.1.49

2 years ago

2.1.47

2 years ago

2.1.48

2 years ago

2.1.46

2 years ago

2.1.50

2 years ago

2.1.51

2 years ago

2.1.45

2 years ago

2.1.44

2 years ago

2.1.43

2 years ago

2.1.42

2 years ago

2.1.40

2 years ago

2.1.38

2 years ago

2.1.39

2 years ago

2.1.36

3 years ago

2.1.37

2 years ago

2.1.35

3 years ago

2.1.27

3 years ago

2.1.28

3 years ago

2.1.25

3 years ago

2.1.26

3 years ago

2.1.29

3 years ago

2.1.34

3 years ago

2.1.32

3 years ago

2.1.33

3 years ago

2.1.30

3 years ago

2.1.31

3 years ago

2.1.23

3 years ago

2.1.24

3 years ago

2.1.22

3 years ago

2.1.16

3 years ago

2.1.17

3 years ago

2.1.15

3 years ago

2.1.18

3 years ago

2.1.19

3 years ago

2.1.21

3 years ago

2.1.20

3 years ago

2.1.14

3 years ago

2.1.12

3 years ago

2.1.13

3 years ago

2.1.10

3 years ago

2.1.11

3 years ago

2.1.9

3 years ago

2.1.8

3 years ago

2.1.2

4 years ago

2.1.1

4 years ago

2.1.4

4 years ago

2.1.3

4 years ago

2.1.6

4 years ago

2.1.5

4 years ago

2.1.7

4 years ago

2.0.10

4 years ago

2.1.0

4 years ago

2.0.9

4 years ago

2.0.8

4 years ago

2.0.5

4 years ago

2.0.7

4 years ago

2.0.2

4 years ago

2.0.4

4 years ago

2.0.1

4 years ago

2.0.0

4 years ago

1.0.7

4 years ago

1.0.6

4 years ago

1.0.5

4 years ago

1.0.4

4 years ago

1.0.2

4 years ago

1.0.1

4 years ago

1.0.3

4 years ago

0.1.15

4 years ago

0.1.16

4 years ago

0.1.14

4 years ago

0.1.13

4 years ago

0.1.12

4 years ago

0.1.11

4 years ago

0.1.10

4 years ago

0.1.9

4 years ago

0.1.8

4 years ago

0.1.7

4 years ago

0.1.6

4 years ago

0.1.5

4 years ago

0.1.4

4 years ago

0.1.0

4 years ago