# `Vix.Vips.MutableImage`
[🔗](https://github.com/akash-akya/vix/blob/v0.38.0/lib/vix/vips/mutable_image.ex#L1)

Vips Mutable Image

See `Vix.Vips.Image.mutate/2`

# `t`
[🔗](https://github.com/akash-akya/vix/blob/v0.38.0/lib/vix/vips/mutable_image.ex#L22)

```elixir
@type t() :: %Vix.Vips.MutableImage{pid: pid()}
```

Represents a mutable instance of VipsImage

# `bands`
[🔗](https://github.com/akash-akya/vix/blob/v0.38.0/lib/vix/vips/mutable_image.ex#L61)

Return the number of bands of a mutable image.

# `child_spec`
[🔗](https://github.com/akash-akya/vix/blob/v0.38.0/lib/vix/vips/mutable_image.ex#L148)

Returns a specification to start this module under a supervisor.

See `Supervisor`.

# `get`
[🔗](https://github.com/akash-akya/vix/blob/v0.38.0/lib/vix/vips/mutable_image.ex#L134)

```elixir
@spec get(t(), String.t()) :: {:ok, term()} | {:error, term()}
```

Returns metadata from the image

# `has_alpha?`
[🔗](https://github.com/akash-akya/vix/blob/v0.38.0/lib/vix/vips/mutable_image.ex#L83)

Return a boolean indicating if a mutable image
has an alpha band.

# `height`
[🔗](https://github.com/akash-akya/vix/blob/v0.38.0/lib/vix/vips/mutable_image.ex#L75)

Return the height of a mutable image.

# `remove`
[🔗](https://github.com/akash-akya/vix/blob/v0.38.0/lib/vix/vips/mutable_image.ex#L126)

```elixir
@spec remove(t(), String.t()) :: :ok | {:error, term()}
```

Remove a metadata item from an image.

# `set`
[🔗](https://github.com/akash-akya/vix/blob/v0.38.0/lib/vix/vips/mutable_image.ex#L113)

```elixir
@spec set(t(), String.t(), atom(), term()) :: :ok | {:error, term()}
```

Create a metadata item on an image of the specified type.
Vix converts value to specified GType

Supported GTypes
  * `:gint`
  * `:guint`
  * `:gdouble`
  * `:gboolean`
  * `:gchararray`
  * `:VipsArrayInt`
  * `:VipsArrayDouble`
  * `:VipsArrayImage`
  * `:VipsRefString`
  * `:VipsBlob`
  * `:VipsImage`
  * `:VipsInterpolate`

# `shape`
[🔗](https://github.com/akash-akya/vix/blob/v0.38.0/lib/vix/vips/mutable_image.ex#L91)

Return the shape of the image as
`{width, height, bands}`.

# `update`
[🔗](https://github.com/akash-akya/vix/blob/v0.38.0/lib/vix/vips/mutable_image.ex#L99)

```elixir
@spec update(t(), String.t(), term()) :: :ok | {:error, term()}
```

Set the value of existing metadata item on an image. Value is converted to match existing value GType

# `width`
[🔗](https://github.com/akash-akya/vix/blob/v0.38.0/lib/vix/vips/mutable_image.ex#L68)

Return the width of a mutable image.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
