> ## Documentation Index
> Fetch the complete documentation index at: https://docs.simular.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Screenshot

# Class: Screenshot

Defined in: [index.d.ts:881](https://github.com/simular-ai/simulang-js-internal/blob/d2b85c3277cbb16ce50c0781e1db8ad2c8a5690e/index.d.ts#L881)

Represents a screenshot capture.

## Constructors

### Constructor

> **new Screenshot**(): `Screenshot`

#### Returns

`Screenshot`

## Accessors

### dimensions

#### Get Signature

> **get** **dimensions**(): \[`number`, `number`]

Defined in: [index.d.ts:910](https://github.com/simular-ai/simulang-js-internal/blob/d2b85c3277cbb16ce50c0781e1db8ad2c8a5690e/index.d.ts#L910)

Returns the screenshot dimensions as `[width, height]` in pixels.

##### Returns

\[`number`, `number`]

## Methods

### addGrid()

> **addGrid**(`width`, `height`): `void`

Defined in: [index.d.ts:889](https://github.com/simular-ai/simulang-js-internal/blob/d2b85c3277cbb16ce50c0781e1db8ad2c8a5690e/index.d.ts#L889)

Draws a cross-hair grid on the image.

Grid squares have the specified `width` and `height`.

#### Parameters

##### width

`number`

##### height

`number`

#### Returns

`void`

***

### base64()

> **base64**(): `string`

Defined in: [index.d.ts:917](https://github.com/simular-ai/simulang-js-internal/blob/d2b85c3277cbb16ce50c0781e1db8ad2c8a5690e/index.d.ts#L917)

Returns the image encoded as a base64 data URL.

The result includes the MIME prefix, for example
`data:image/png;base64,...` or `data:image/jpeg;base64,...`.

#### Returns

`string`

***

### compress()

> **compress**(`quality`): `void`

Defined in: [index.d.ts:896](https://github.com/simular-ai/simulang-js-internal/blob/d2b85c3277cbb16ce50c0781e1db8ad2c8a5690e/index.d.ts#L896)

Compress the image by converting it to JPEG with the specified quality.

The quality is a value between 1 and 100.
1 is the lowest possible quality and 100 is the highest quality.

#### Parameters

##### quality

`number`

#### Returns

`void`

***

### ground()

> **ground**(`model`, `concept`): \[`number`, `number`]

Defined in: [index.d.ts:939](https://github.com/simular-ai/simulang-js-internal/blob/d2b85c3277cbb16ce50c0781e1db8ad2c8a5690e/index.d.ts#L939)

Locate `concept` on this screenshot using the given grounding model and
return the corresponding **global physical pixel coordinates** `[x, y]`.
The output can be fed directly to primitives that expect global screen
coordinates.

Equivalent to `model.ground(screenshot, concept)`.

#### Parameters

##### model

[`GroundingModel`](GroundingModel.mdx)

##### concept

`string`

#### Returns

\[`number`, `number`]

***

### save()

> **save**(`path`): `void`

Defined in: [index.d.ts:883](https://github.com/simular-ai/simulang-js-internal/blob/d2b85c3277cbb16ce50c0781e1db8ad2c8a5690e/index.d.ts#L883)

Path includes the file name and the extension.

#### Parameters

##### path

`string`

#### Returns

`void`

***

### shrink()

> **shrink**(`nwidth`, `nheight`): `void`

Defined in: [index.d.ts:908](https://github.com/simular-ai/simulang-js-internal/blob/d2b85c3277cbb16ce50c0781e1db8ad2c8a5690e/index.d.ts#L908)

Resizes this image if it is larger than the desired size. The image's
aspect ratio is preserved. The image is scaled to the maximum
possible size that fits within the bounds specified by nwidth and
nheight.

This method operates on pixel channel values directly without taking
into account color space data.

We commonly use this to resize the image to 1920x1080.

#### Parameters

##### nwidth

`number`

##### nheight

`number`

#### Returns

`void`

***

### toGlobalPhysicalPixels()

> **toGlobalPhysicalPixels**(`x`, `y`, `coordType`): \[`number`, `number`]

Defined in: [index.d.ts:930](https://github.com/simular-ai/simulang-js-internal/blob/d2b85c3277cbb16ce50c0781e1db8ad2c8a5690e/index.d.ts#L930)

Converts a point in this screenshot to global physical pixel
coordinates.

Screenshots may represent only part of a display, and displays may
use different scale factors. Use this to map `(x, y)` to the
corresponding global physical pixel position (for example, when
moving the mouse to the same on-screen point).

See `ScreenshotCoordinateType` for how `coord_type` affects
interpretation of `(x, y)`.

#### Parameters

##### x

`number`

##### y

`number`

##### coordType

[`ScreenshotCoordinateType`](ScreenshotCoordinateType.mdx)

#### Returns

\[`number`, `number`]
