image-size
Version:
get dimensions of any image file
49 lines (42 loc) • 1.27 kB
JavaScript
const fs = require('node:fs')
const path = require('node:path')
const { imageSizeFromFile } = require('../dist/fromFile.cjs')
const files = process.argv.slice(2)
if (!files.length) {
console.error('Usage: image-size image1 [image2] [image3] ...')
process.exit(-1)
}
const red = ['\x1B[31m', '\x1B[39m']
const grey = ['\x1B[90m', '\x1B[39m']
const green = ['\x1B[32m', '\x1B[39m']
function colorize(text, color) {
return color[0] + text + color[1]
}
files.forEach(async (image) => {
try {
if (fs.existsSync(path.resolve(image))) {
const greyX = colorize('x', grey)
const greyImage = colorize(image, grey)
const result = await imageSizeFromFile(image)
const sizes = result.images || [result]
sizes.forEach((size) => {
const type = size.type ?? result.type;
const greyType = type ? colorize(` (${type})`, grey) : ''
console.info(
colorize(size.width, green) +
greyX +
colorize(size.height, green) +
' - ' +
greyImage +
greyType,
)
})
} else {
console.error("file doesn't exist - ", image)
}
} catch (e) {
console.error(colorize(e.message, red), '-', image)
}
})