# Image

> A user image on the screen, fitted four ways, optionally swapped by an Image variable.

**Image** shows one of your imported pictures — a machine photo, a plant schematic, a
company mark. The picture is either static or driven by an Image-output Logic variable,
so what is on screen can follow the plant (a different diagram per active recipe, a
state picture per machine mode). It is a *Media* component; a new one occupies
4 × 4 cells.

Images are imported in **Logic ▸ Assets ▸ Images**; the component only picks from that
library. With nothing chosen and nothing bound, the cell says "No image" instead of
standing empty.

## Content {#content}

| Field | What it does | Values | Default |
|---|---|---|---|
| Default image | The static picture, and the editor's fallback while a variable is bound. `(none)` shows the placeholder. When the library is empty and no variable is bound, the panel says where to import one. | `(none)` or an image asset | `(none)` |

## Data {#data}

| Field | What it does | Values | Default |
|---|---|---|---|
| From Image variable | A rooted address of an Image-output Logic variable. Bound, the component renders whatever asset the variable currently resolves to — the value-to-image logic, and its required default, live in the variable (see the [Logic page](logic)). `(none)` clears the bind. | An Image variable, or `(none)` | `(none)` |

Under the field, the panel confirms the binding with the picture itself — a thumbnail
of the asset the variable resolves right now — because an asset id says nothing about
the image it stands for.

While a variable is bound, a point that fails to read (unresolved address, or bad
quality) drops the picture to the placeholder and wears the shared bad-reading mark:
the stale asset the variable last held must not stand on screen as if it were a
reading.

## Fit {#fit}

| Field | What it does | Values | Default |
|---|---|---|---|
| Fit | How the picture meets the box it was given. Each option carries a preview of the result, because the four names alone say nothing an operator can picture. | `Uniform` — kept whole at its own proportions, shrunk as needed to fit; never enlarged past its natural size · `UniformToFill` — fills the box, proportions kept, overflow cropped · `Fill` — stretched to the box exactly, proportions not kept · `None` — the picture at its own size; one larger than the box shrinks whole, so today it draws the same as `Uniform` | `Uniform` |

Image is a display component: it commands nothing and never wears the lock mark. The
shared Appearance, Identification, Position and layer and Actions sections are described
on the [components page](components#the-shared-property-sections).
