> For the complete documentation index, see [llms.txt](https://docs.overdare.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.overdare.com/development/api-reference/classes/imagebutton.md).

# ImageButton

ImageButton : `GuiButton`

## Overview

ImageButton displays image just like ImageLabel, but it adds interactable buttons. In other words, it is a UI element that displays image as well as uses the events of GuiButton like click and tap.

ImageButton can be controlled only in **client environment**.

## Properties

### HoverImage

`string`

Specifies image asset to be displayed when the mouse cursor is hovering on ImageButton.

#### Code Samples

```lua
local ScreenGui = script.Parent
local ImageButton = ScreenGui:WaitForChild("ImageButton")

ImageButton.HoverImage = "ovdrassetid://1234"
```

### Image

`string`

Specifies image asset to be displayed in ImageButton.

#### Code Samples

```lua
local ScreenGui = script.Parent
local ImageButton = ScreenGui:WaitForChild("ImageButton")

ImageButton.Image = "ovdrassetid://1234"
```

### ImageColor3

`Color3`

Specifies the color to be applied to image.

If color is left white, original image will be displayed. If some other color is specified, the whole image will be in that hue.

#### Code Samples

```lua
local ScreenGui = script.Parent
local ImageButton = ScreenGui:WaitForChild("ImageButton")

ImageButton.ImageColor3 = Color3.fromRGB(255, 0, 0)
```

### ImageTransparency

`number`

Specifies the transparency of image.

0 means the image is completely opaque while 1 means the image is totally invisible.

If background needs to be hidden while image is displayed, set BackgroundTransparency to 1.

#### Code Samples

```lua
local ScreenGui = script.Parent
local ImageButton = ScreenGui:WaitForChild("ImageButton")

ImageButton.ImageTransparency = 0.5
```

### PressImage

`string`

Specifies image asset to be displayed when ImageButton is pushed.

#### Code Samples

```lua
local ScreenGui = script.Parent
local ImageButton = ScreenGui:WaitForChild("ImageButton")

ImageButton.PressImage = "ovdrassetid://1234"
```

### ScaleType

`Enum.ScaleType`

Specifies how the image is scaled when the size of the UI element differs from the original image.

* `Stretch`: Stretches the image to fit the element. This is the default value.
* `Slice`: Divides the image into nine regions and applies a different scaling rule to each region. The slice boundaries are determined by SliceCenter.

#### Code Samples

```lua
local ScreenGui = script.Parent
local ImageButton = ScreenGui:WaitForChild("ImageButton")

ImageButton.ScaleType = Enum.ScaleType.Slice
```

### SliceCenter

`Rect`

Specifies the slice boundaries of the nine regions when ScaleType is Slice.

The value is an absolute pixel coordinate based on the top-left corner (0, 0) of the image, and consists of the top-left point Min and the bottom-right point Max. In the Properties window, it is displayed as four fields X0, Y0, X1, and Y1, which correspond to Min.X, Min.Y, Max.X, and Max.Y.

#### Code Samples

```lua
local ScreenGui = script.Parent
local ImageButton = ScreenGui:WaitForChild("ImageButton")

ImageButton.ScaleType = Enum.ScaleType.Slice
ImageButton.SliceCenter = Rect.new(10, 10, 118, 118)
```

### SliceScale

`number`

Specifies the scale factor applied to the slice edges when ScaleType is Slice.

#### Code Samples

```lua
local ScreenGui = script.Parent
local ImageButton= ScreenGui:WaitForChild("ImageButton")

ImageButton.ScaleType = Enum.ScaleType.Slice
ImageButton.SliceScale = 2
```

## Methods

## Events

## See also
