npm.io
1.0.4 • Published 5 years ago

@kawaiilab/sagiri

Licence
MIT
Version
1.0.4
Deps
1
Size
7.5 MB
Vulns
0
Weekly
0
Stars
1

En/decrypt images in a kawaii way

Author Version License


Installation

npm install @kawaiilab/sagiri

Usage

En/decrypt a single image

const ctx = canvas.getContext('2d')

const img = await loadImage(imageData)
ctx.drawImage(img, 0, 0)
imgData = ctx.getImageData(0, 0, width, height)

sagiri.encrypt(imgData, ctx, key)
// sagiri.decrypt(imgData, ctx, key)

const out = fs.createWriteStream(__dirname + '/output.png')
const stream = canvas.createPNGStream()
stream.pipe(out)
out.on('finish', () =>  console.log('Finished.'))
API
sagiri.encrypt(imgData: ImageData, ctx: CanvasRenderingContext2D, key: String)
Performance
Encrypt ./example/01-input.png (1920 × 1080)
Max: 539ms
Avg: 528ms
Min: 501ms

Decrypt: ./example/02-input.png (1920 × 1080)
Max: 464ms
Avg: 468ms
Min: 475ms
Examples

Have look at ./example folder

kawaiilab/sagiri-cli

kawaiilab/sagiri-web

Credit

Tharsanan1/ImageEncryptionWeb

Illustration: エロマンガ先生!!!

Name

Sagiri Izumi from Eromanga-sensei

LICENSE

MIT