# node-screencapturer

> Zero-dependent. A native nodejs screenshots library for Mac、Windows、Linux.

Latest version **0.0.3** (published 2022-05-18) · Apache-2.0 License license · 0 weekly downloads

## Install

```sh
npm install node-screencapturer
pnpm add node-screencapturer
yarn add node-screencapturer
bun add node-screencapturer
```

## Health

**Score 25/100 (F)** — status: abandoned.

Positive: has types; no vulnerabilities; high quality score.

Warnings: low downloads; no esm support; pre 1.0.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 0.0.3 |
| Published | 2022-05-18 |
| First published | 2022-05-18 |
| Weekly downloads | 0 |
| License | Apache-2.0 License |
| TypeScript types | bundled |
| Module format | CommonJS |
| Node | >= 10 |
| Dependencies | 7 |
| Unpacked size | 21.4 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Maintainers | nashaofu |

## Links

- npm: https://www.npmjs.com/package/node-screencapturer
- npm.io page: https://npm.io/package/node-screencapturer

## Dependencies (7)

- [node-screencapturer-darwin-x64](https://npm.io/package/node-screencapturer-darwin-x64.md) 0.0.3
- [node-screencapturer-darwin-arm64](https://npm.io/package/node-screencapturer-darwin-arm64.md) 0.0.3
- [node-screencapturer-linux-x64-gnu](https://npm.io/package/node-screencapturer-linux-x64-gnu.md) 0.0.3
- [node-screencapturer-linux-x64-musl](https://npm.io/package/node-screencapturer-linux-x64-musl.md) 0.0.3
- [node-screencapturer-win32-x64-msvc](https://npm.io/package/node-screencapturer-win32-x64-msvc.md) 0.0.3
- [node-screencapturer-win32-ia32-msvc](https://npm.io/package/node-screencapturer-win32-ia32-msvc.md) 0.0.3
- [node-screencapturer-win32-arm64-msvc](https://npm.io/package/node-screencapturer-win32-arm64-msvc.md) 0.0.3

## Recent versions

- 0.0.3 (latest) — 2022-05-18

## README

# node-screenshots

Zero-dependent. A native nodejs screenshots library for Mac、Windows、Linux.

## Support matrix

### Operating Systems

| Operating Systems | node12 | node14 | node16 |
| ----------------- | ------ | ------ | ------ |
| Windows x64       | ✓      | ✓      | ✓      |
| Windows x32       | ✓      | ✓      | ✓      |
| Windows arm64     | ✓      | ✓      | ✓      |
| macOS x64         | ✓      | ✓      | ✓      |
| macOS arm64       | ✓      | ✓      | ✓      |
| Linux x64 gnu     | ✓      | ✓      | ✓      |
| Linux x64 musl    | ✓      | ✓      | ✓      |

## example

```ts
const fs = require('fs')
const { Screenshots } = require('node-screenshots')

let capturer = Screenshots.fromPoint(100, 100)

console.log(capturer, capturer.id)

// 同步截图
let image = capturer.captureSync()
fs.writeFileSync('./a.png', image)

// 异步获取截图
capturer.capture().then(data => {
  console.log(data)
  fs.writeFileSync(`${capturer.id}.png`, data)
})

// 获取所有屏幕截图
let all = Screenshots.all()

all.forEach(capturer => {
  console.log({
    id: capturer.id,
    x: capturer.x,
    y: capturer.y,
    width: capturer.width,
    height: capturer.height,
    scale: capturer.scale,
    rotation: capturer.rotation
  })
  capturer.captureSync()
})

// 从屏幕id获取截图，id可以通过 `Screenshots.all()` 获取，也可以通过electron的 `screen.getAllDisplays()` 获取
let sc = Screenshots.fromDisplay(71)
```

## API

- `Screenshots.fromPoint(x, y)`: 从指定坐标获取屏幕
- `Screenshots.fromDisplay(displayId)`: 从屏幕 id 获取屏幕
- `Screenshots.all()`: 获取所有屏幕
- `screenshots.capture()`: 异步截图
- `screenshots.captureSync()`: 同步截图

---
_Source: https://npm.io/package/node-screencapturer · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
