@winput/screen
v1.0.13
Published
Windows screen capture and pixel analysis for Bun - capture screenshots, read pixels, search for colors
Maintainers
Readme
@winput/screen 🖥️
Screen capture and pixel analysis for Windows.
Requirements
- OS: Windows 64-bit
- Runtime: Bun (npm not supported)
Installation
bun add @winput/screenUsage
import { screen } from "@winput/screen";
const size = screen.getScreenSize();
const pixel = screen.getPixel(500, 300);
const capture = screen.capture(0, 0, 800, 600);
const text = await screen.recognizeText(100, 100, 400, 200);
console.log(text?.text);API
screen
| Method | Params | Returns | Description |
|--------|--------|---------|-------------|
| getScreenSize() | - | Size | Primary monitor size |
| getMonitors() | - | MonitorInfo[] | All monitor info |
| capture(x?, y?, w?, h?) | number, number, number, number | ImageData \| null | Capture region |
| getPixel(x, y) | number, number | Pixel \| null | Get pixel color |
| checkPixel(x, y, color, tolerance?) | number, number, RGB, number | boolean | Check pixel match |
| waitForPixel(x, y, color, tolerance?, timeout?) | number, number, RGB, number, number | Promise<boolean> | Wait for color |
| getMultiplePixels(positions) | Position[] | RGB[] | Get multiple colors |
| checkMultiplePixels(checks) | PixelCheck[] | boolean | Check multiple |
| waitForAnyPixel(checks, timeout?) | PixelCheck[], number | Promise<boolean> | Wait any match |
| pixelSearch(x1, y1, x2, y2, color, tolerance?) | number×4, RGB, number | Point \| null | Find color |
| imageSearch(x1, y1, x2, y2, image, tolerance?) | number×4, string, number | Promise<Point \| null> | Find image |
| recognizeText(x, y, w, h, options?) | number×4, OCROptions | Promise<OCRResult \| null> | OCR extract |
Types
Size
{ width: number; height: number }Point
{ x: number; y: number }Position
{ x: number; y: number }RGB
{ r: number; g: number; b: number }Pixel
{
x: number; y: number;
r: number; g: number; b: number;
isEqual(color: RGB): boolean;
isSimilar(color: RGB, tolerance: number): boolean;
toHex(): string;
}PixelCheck
{ x: number; y: number; color: RGB; tolerance?: number }ImageData
{ width: number; height: number; buffer: Uint8Array }MonitorInfo
{
deviceName: string;
rect: Rect;
workArea: Rect;
isPrimary: boolean;
}OCRResult
{
text: string;
confidence: number;
words: Array<{ text: string; confidence: number; bbox: Rect }>;
}OCROptions
{ lang?: string } // Default: "eng"Exports
| Export | Type | Description |
|--------|------|-------------|
| screen | Screen | Main screen operations |
| Pixel | Pixel | Pixel with utility methods |
