{"_id":"@akirco/termimg","name":"@akirco/termimg","dist-tags":{"latest":"0.1.0"},"versions":{"0.1.0":{"name":"@akirco/termimg","version":"0.1.0","description":"Terminal image preview library — Kitty, Sixel, HalfBlock, Braille, ASCII","module":"src/index.ts","main":"dist/index.js","types":"dist/index.d.ts","type":"module","bin":{"termimg":"dist/cli.js"},"scripts":{"cli":"bun run src/cli.ts","build":"bun build src/index.ts --format esm --outdir dist --target node && bun build src/cli.ts --format esm --outdir dist --target node && tsc -p tsconfig.build.json","build:cli":"bun build src/cli.ts --compile --outfile termimg --target bun","prepublishOnly":"bun run build","format":"bunx biome check --write"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"devDependencies":{"@types/bun":"latest"},"peerDependencies":{"typescript":"*"},"dependencies":{"jimp":"^1.6.1"},"repository":{"type":"git","url":"git+https://github.com/akirco/termimg.git"},"license":"AGPL-3.0-or-later","_id":"@akirco/termimg@0.1.0","gitHead":"4481668ee7e406b10a88068506a8aa7e34be82ff","bugs":{"url":"https://github.com/akirco/termimg/issues"},"homepage":"https://github.com/akirco/termimg#readme","_nodeVersion":"20.20.2","_npmVersion":"10.8.2","dist":{"integrity":"sha512-EXGeRaEsYHW4jl6G9kdl2HaUhZHZmSuAGdDzWkhswk/O7Dg1b8USJBmjMrIdShIqlLC8oBEAx1JL99E9p7FdDg==","shasum":"d5c2d9a3d7cc96a6b045f89eec515b1221b85585","tarball":"https://registry.npmjs.org/@akirco/termimg/-/termimg-0.1.0.tgz","fileCount":18,"unpackedSize":2272697,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@akirco%2ftermimg@0.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDoXMweXOVLWcN7PaERMqig8Sf06NFkEl5ALDrqd40xlwIgCqyT65IVZ24kzculXSZg/ZNY9wh3S6bHq8Y3GcwwxEg="}]},"_npmUser":{"name":"akirco","email":"earlfx@163.com"},"directories":{},"maintainers":[{"name":"akirco","email":"earlfx@163.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/termimg_0.1.0_1783862634129_0.9849659646380464"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-12T13:23:53.976Z","0.1.0":"2026-07-12T13:23:54.267Z","modified":"2026-07-12T13:23:54.674Z"},"maintainers":[{"name":"akirco","email":"earlfx@163.com"}],"description":"Terminal image preview library — Kitty, Sixel, HalfBlock, Braille, ASCII","homepage":"https://github.com/akirco/termimg#readme","repository":{"type":"git","url":"git+https://github.com/akirco/termimg.git"},"bugs":{"url":"https://github.com/akirco/termimg/issues"},"license":"AGPL-3.0-or-later","readme":"# termimg\n\n终端图片预览库 — Kitty, Sixel, HalfBlock, Braille, ASCII\n\n自动检测终端支持的协议，将图片渲染到终端中。支持 JPG、PNG、GIF、WebP、AVIF 等主流格式。\n\n## 安装\n\n```bash\nnpm install termimg\n# or\nbun add termimg\n```\n\n## 使用\n\n### 基本用法\n\n```ts\nimport { renderImage } from 'termimg'\n\nconst result = await renderImage('photo.jpg')\nprocess.stdout.write(result.stream)\n```\n\n自动检测终端协议并输出渲染结果。\n\n### 指定协议\n\n```ts\nconst result = await renderImage('photo.jpg', { protocol: 'kitty' })\nprocess.stdout.write(result.stream)\n```\n\n### 手动检测协议\n\n```ts\nimport { detectProtocol } from 'termimg'\n\nconst proto = detectProtocol() // 'kitty' | 'sixel' | 'halfblock'\n```\n\n### 调整尺寸\n\n```ts\n// 缩放\nawait renderImage('photo.jpg', { scale: 0.5 })\n\n// 固定宽度（字符列数）\nawait renderImage('photo.jpg', { cols: 80 })\n\n// 固定高度（字符行数）\nawait renderImage('photo.jpg', { rows: 24 })\n\n// 指定偏移\nawait renderImage('photo.jpg', { x: 10, y: 5 })\n```\n\n### 底层 API\n\n```ts\nimport { loadImage, resizeImage, KittyEncoder } from 'termimg'\n\nconst img = await loadImage('photo.jpg')\nconst resized = await resizeImage(img, 400, 300)\nconst encoder = new KittyEncoder()\nconst output = encoder.encode(resized.width, resized.height, resized.data)\nprocess.stdout.write(output)\n```\n\n### 清除图片\n\n```ts\nimport { clearImage } from 'termimg'\n\nconst clear = await clearImage('kitty', { cols: 40, rows: 20 })\nprocess.stdout.write(clear)\n```\n\n## CLI\n\n```bash\ntermimg photo.jpg\ntermimg photo.jpg --scale 0.5\ntermimg photo.jpg --cols 80\ntermimg photo.jpg --protocol kitty\ntermimg photo.jpg --protocol sixel --no-aspect\n```\n\n### 选项\n\n| 选项 | 说明 |\n|------|------|\n| `--scale <n>` | 缩放比例（默认 1.0） |\n| `--cols <n>` | 固定宽度（字符列数） |\n| `--rows <n>` | 固定高度（字符行数） |\n| `--protocol <p>` | 强制协议：kitty, sixel, halfblock, braille, ascii, auto |\n| `--x <n>` | 水平偏移（字符单位） |\n| `--y <n>` | 垂直偏移（字符单位） |\n| `--no-aspect` | 不保持宽高比 |\n\n## 终端兼容性\n\n| 协议 | 终端 |\n|------|------|\n| **Kitty** | Kitty, Ghostty, Rio, Warp, WezTerm, iTerm2 (≥3.4), Konsole (≥22.04) |\n| **Sixel** | Foot, VS Code (≥1.80), Rio (≥12), WezTerm, Mintty, Konsole (≥22.04), mlterm |\n| **HalfBlock** | 通用回退方案 |\n| **Braille** | 通用回退方案 |\n| **ASCII** | 通用回退方案 |\n\n## License\n\nAGPL-3.0-or-later\n","readmeFilename":"README.md","_rev":"1-600dac488766b72e6f75e9a8f1c1b246"}