png-dpi-cli
Examples for png-dpi-reader-writer
Reader
Detect width, height and DPI for PNG image.
Retina screenshots
$ deno https://scrapbox.io/api/code/daiiz-deno/png-dpi-cli/reader.ts https://i.gyazo.com/7127a0c2a987ea50dbba0ebd6455c206.png --allow-net
https://i.gyazo.com/5edcf7b10ee138faac70938314b3c97f.png
non-Retina screenshot
$ deno https://scrapbox.io/api/code/daiiz-deno/png-dpi-cli/reader.ts https://i.gyazo.com/8d132d64902c1323ffa8ca688b2c40eb.png --allow-net
Writer
Write DPI for PNG image.
$ deno https://scrapbox.io/api/code/daiiz-deno/png-dpi-cli/writer.ts https://i.gyazo.com/8d132d64902c1323ffa8ca688b2c40eb.png 72 --allow-net > a.png
code:reader.ts
import {args, Buffer} from 'deno'
import {loadLocalImage, fetchImage} from 'https://scrapbox.io/api/code/daiiz-deno/load-image/mod.ts'
import {parsePngFormat} from 'https://scrapbox.io/api/code/daiiz-deno/png-dpi-reader-writer/mod.ts'
const main = async () => {
if (!args1) throw new Error('image url is required.')
const srcUrl = args1
let buf: Buffer
if (!/https?:\/\//.test(srcUrl)) {
buf = await loadLocalImage(srcUrl)
} else {
buf = await fetchImage(srcUrl)
}
console.log(await parsePngFormat(buf))
}
main()
dpiを書き込んだpng画像をstdoutに出力する
code:writer.ts
import {args, Buffer, stdout} from 'deno'
import {loadLocalImage, fetchImage} from 'https://scrapbox.io/api/code/daiiz-deno/*png-dpi-reader-writer/share.ts'
import {writePngDpi} from 'https://scrapbox.io/api/code/daiiz-deno/png-dpi-reader-writer/mod.ts'
const main = async () => {
if (!args1) throw new Error('image url is required.')
if (!args2) throw new Error('dpi is required.')
const srcUrl = args1
const dpi = +args2
let buf: Buffer
if (!/https?:\/\//.test(srcUrl)) {
buf = await loadLocalImage(srcUrl)
} else {
buf = await fetchImage(srcUrl)
}
const arr: Uint8Array = await writePngDpi(buf, dpi)
stdout.write(arr)
}
main()
#Examples