This is a TypeScript implementation of the PNG image format. The module
offers encoding and decoding abilities. The raw pixel format/ the decoded
format is a repeating sequence of [ r, g, b, a ]
in a Uint8Array
, or
Uint8ClampedArray
.
This implementation is based off the PNG Specification.
Example 1
import { encodePNG } from "@img/png"; await Deno.mkdir(".output/", { recursive: true }); const rawData = await new Response(ReadableStream.from(async function* () { for (let r = 0; r < 256; ++r) { for (let c = 0; c < 256; ++c) { yield Uint8Array.from([255 - r, c, r, 255]); } } }())).bytes(); await Deno.writeFile(".output/mod.png", await encodePNG(rawData, { width: 256, height: 256, compression: 0, filter: 0, interlace: 0, }));
Add Package
deno add jsr:@img/png
Import symbol
import * as png from "@img/png";
---- OR ----
Import directly with a jsr specifier
import * as png from "jsr:@img/png";
Add Package
npx jsr add @img/png
Import symbol
import * as png from "@img/png";
Add Package
yarn dlx jsr add @img/png
Import symbol
import * as png from "@img/png";
Add Package
pnpm dlx jsr add @img/png
Import symbol
import * as png from "@img/png";
Add Package
bunx jsr add @img/png
Import symbol
import * as png from "@img/png";