Image

A `https://developers.google.com/apps-script/reference/slides/page-element` representing an image.

### Methods

| Method | Return type | Brief description |
|---|---|---|
| `https://developers.google.com/apps-script/reference/slides/image#alignOnPage(AlignmentPosition)` | `https://developers.google.com/apps-script/reference/slides/image#` | Aligns the element to the specified alignment position on the page. |
| `https://developers.google.com/apps-script/reference/slides/image#bringForward()` | `https://developers.google.com/apps-script/reference/slides/image#` | Brings the page element forward on the page by one element. |
| `https://developers.google.com/apps-script/reference/slides/image#bringToFront()` | `https://developers.google.com/apps-script/reference/slides/image#` | Brings the page element to the front of the page. |
| `https://developers.google.com/apps-script/reference/slides/image#duplicate()` | `https://developers.google.com/apps-script/reference/slides/page-element` | Duplicates the page element. |
| `https://developers.google.com/apps-script/reference/slides/image#getAs(String)` | `https://developers.google.com/apps-script/reference/base/blob.html` | Return the data inside this object as a blob converted to the specified content type. |
| `https://developers.google.com/apps-script/reference/slides/image#getBlob()` | `https://developers.google.com/apps-script/reference/base/blob.html` | Return the data inside this image as a blob. |
| `https://developers.google.com/apps-script/reference/slides/image#getBorder()` | `https://developers.google.com/apps-script/reference/slides/border` | Returns the `https://developers.google.com/apps-script/reference/slides/border` of the image. |
| `https://developers.google.com/apps-script/reference/slides/image#getConnectionSites()` | `https://developers.google.com/apps-script/reference/slides/connection-site` | Returns the list of `ConnectionSite`s on the page element, or an empty list if the page element does not have any connection sites. |
| `https://developers.google.com/apps-script/reference/slides/image#getContentUrl()` | `String` | Gets a URL to the image. |
| `https://developers.google.com/apps-script/reference/slides/image#getDescription()` | `String` | Returns the page element's alt text description. |
| `https://developers.google.com/apps-script/reference/slides/image#getHeight()` | `Number|null` | Gets the element's height in points, which is the height of the element's bounding box when the element has no rotation. |
| `https://developers.google.com/apps-script/reference/slides/image#getInherentHeight()` | `Number|null` | Returns the element's inherent height in points. |
| `https://developers.google.com/apps-script/reference/slides/image#getInherentWidth()` | `Number|null` | Returns the element's inherent width in points. |
| `https://developers.google.com/apps-script/reference/slides/image#getLeft()` | `Number` | Returns the element's horizontal position in points, measured from the upper-left corner of the page when the element has no rotation. |
| `https://developers.google.com/apps-script/reference/slides/image#getLink()` | `https://developers.google.com/apps-script/reference/slides/link|null` | Returns the `https://developers.google.com/apps-script/reference/slides/link` or `null` if there is no link. |
| `https://developers.google.com/apps-script/reference/slides/image#getObjectId()` | `String` | Returns the unique ID for this object. |
| `https://developers.google.com/apps-script/reference/slides/image#getPageElementType()` | `https://developers.google.com/apps-script/reference/slides/page-element-type` | Returns the page element's type, represented as a `https://developers.google.com/apps-script/reference/slides/page-element-type` enum. |
| `https://developers.google.com/apps-script/reference/slides/image#getParentGroup()` | `https://developers.google.com/apps-script/reference/slides/group|null` | Returns the group this page element belongs to, or `null` if the element is not in a group. |
| `https://developers.google.com/apps-script/reference/slides/image#getParentPage()` | `https://developers.google.com/apps-script/reference/slides/page` | Returns the page this page element is on. |
| `https://developers.google.com/apps-script/reference/slides/image#getParentPlaceholder()` | `https://developers.google.com/apps-script/reference/slides/page-element|null` | Returns the parent page element of the placeholder. |
| `https://developers.google.com/apps-script/reference/slides/image#getPlaceholderIndex()` | `Integer|null` | Returns the index of the placeholder image. |
| `https://developers.google.com/apps-script/reference/slides/image#getPlaceholderType()` | `https://developers.google.com/apps-script/reference/slides/placeholder-type` | Returns the placeholder type of the image, or `PlaceholderType.NONE` if the shape is not a placeholder. |
| `https://developers.google.com/apps-script/reference/slides/image#getRotation()` | `Number` | Returns the element's clockwise rotation angle around its center in degrees, where zero degrees means no rotation. |
| `https://developers.google.com/apps-script/reference/slides/image#getSourceUrl()` | `String|null` | Gets the image's source URL, if available. |
| `https://developers.google.com/apps-script/reference/slides/image#getTitle()` | `String` | Returns the page element's alt text title. |
| `https://developers.google.com/apps-script/reference/slides/image#getTop()` | `Number` | Gets the element's vertical position in points, measured from the upper-left corner of the page when the element has no rotation. |
| `https://developers.google.com/apps-script/reference/slides/image#getTransform()` | `https://developers.google.com/apps-script/reference/slides/affine-transform` | Returns the page element's transform. |
| `https://developers.google.com/apps-script/reference/slides/image#getWidth()` | `Number|null` | Returns the element's width in points, which is the width of the element's bounding box when the element has no rotation. |
| `https://developers.google.com/apps-script/reference/slides/image#preconcatenateTransform(AffineTransform)` | `https://developers.google.com/apps-script/reference/slides/image#` | Preconcatenates the provided transform to the existing transform of the page element. |
| `https://developers.google.com/apps-script/reference/slides/image#remove()` | `void` | Removes the page element. |
| `https://developers.google.com/apps-script/reference/slides/image#removeLink()` | `void` | Removes a `https://developers.google.com/apps-script/reference/slides/link`. |
| `https://developers.google.com/apps-script/reference/slides/image#replace(BlobSource)` | `https://developers.google.com/apps-script/reference/slides/image#` | Replaces this image with an image described by a [`BlobSource`](https://developers.google.com/apps-script/reference/base/blob-source) object. |
| `https://developers.google.com/apps-script/reference/slides/image#replace(BlobSource,Boolean)` | `https://developers.google.com/apps-script/reference/slides/image#` | Replaces this image with an image described by a `https://developers.google.com/apps-script/reference/slides/image#` object, optionally cropping the image to fit. |
| `https://developers.google.com/apps-script/reference/slides/image#replace(String)` | `https://developers.google.com/apps-script/reference/slides/image#` | Replaces this image with another image downloaded from the provided URL. |
| `https://developers.google.com/apps-script/reference/slides/image#replace(String,Boolean)` | `https://developers.google.com/apps-script/reference/slides/image#` | Replaces this image with another image downloaded from the provided URL, optionally cropping the image to fit. |
| `https://developers.google.com/apps-script/reference/slides/image#scaleHeight(Number)` | `https://developers.google.com/apps-script/reference/slides/image#` | Scales the element's height by the specified ratio. |
| `https://developers.google.com/apps-script/reference/slides/image#scaleWidth(Number)` | `https://developers.google.com/apps-script/reference/slides/image#` | Scales the element's width by the specified ratio. |
| `https://developers.google.com/apps-script/reference/slides/image#select()` | `void` | Selects only the `https://developers.google.com/apps-script/reference/slides/page-element` in the active presentation and removes any previous selection. |
| `https://developers.google.com/apps-script/reference/slides/image#select(Boolean)` | `void` | Selects the `https://developers.google.com/apps-script/reference/slides/page-element` in the active presentation. |
| `https://developers.google.com/apps-script/reference/slides/image#sendBackward()` | `https://developers.google.com/apps-script/reference/slides/image#` | Sends the page element backward on the page by one element. |
| `https://developers.google.com/apps-script/reference/slides/image#sendToBack()` | `https://developers.google.com/apps-script/reference/slides/image#` | Sends the page element to the back of the page. |
| `https://developers.google.com/apps-script/reference/slides/image#setDescription(String)` | `https://developers.google.com/apps-script/reference/slides/image#` | Sets the page element's alt text description. |
| `https://developers.google.com/apps-script/reference/slides/image#setHeight(Number)` | `https://developers.google.com/apps-script/reference/slides/image#` | Sets the element's height in points, which is the height of the element's bounding box when the element has no rotation. |
| `https://developers.google.com/apps-script/reference/slides/image#setLeft(Number)` | `https://developers.google.com/apps-script/reference/slides/image#` | Sets the element's horizontal position in points, measured from the upper-left corner of the page when the element has no rotation. |
| `https://developers.google.com/apps-script/reference/slides/image#setLinkSlide(Integer)` | `https://developers.google.com/apps-script/reference/slides/link` | Sets a `https://developers.google.com/apps-script/reference/slides/link` to the given `https://developers.google.com/apps-script/reference/slides/slide` using the zero-based index of the slide. |
| `https://developers.google.com/apps-script/reference/slides/image#setLinkSlide(Slide)` | `https://developers.google.com/apps-script/reference/slides/link` | Sets a `https://developers.google.com/apps-script/reference/slides/link` to the given `https://developers.google.com/apps-script/reference/slides/slide`, the link is set by the given slide ID. |
| `https://developers.google.com/apps-script/reference/slides/image#setLinkSlide(SlidePosition)` | `https://developers.google.com/apps-script/reference/slides/link` | Sets a `https://developers.google.com/apps-script/reference/slides/link` to the given `https://developers.google.com/apps-script/reference/slides/slide` using the relative position of the slide. |
| `https://developers.google.com/apps-script/reference/slides/image#setLinkUrl(String)` | `https://developers.google.com/apps-script/reference/slides/link` | Sets a `https://developers.google.com/apps-script/reference/slides/link` to the given non-empty URL string. |
| `https://developers.google.com/apps-script/reference/slides/image#setRotation(Number)` | `https://developers.google.com/apps-script/reference/slides/image#` | Sets the element's clockwise rotation angle around its center in degrees. |
| `https://developers.google.com/apps-script/reference/slides/image#setTitle(String)` | `https://developers.google.com/apps-script/reference/slides/image#` | Sets the page element's alt text title. |
| `https://developers.google.com/apps-script/reference/slides/image#setTop(Number)` | `https://developers.google.com/apps-script/reference/slides/image#` | Sets the element's vertical position in points, measured from the upper-left corner of the page when the element has no rotation. |
| `https://developers.google.com/apps-script/reference/slides/image#setTransform(AffineTransform)` | `https://developers.google.com/apps-script/reference/slides/image#` | Sets the transform of the page element with the provided transform. |
| `https://developers.google.com/apps-script/reference/slides/image#setWidth(Number)` | `https://developers.google.com/apps-script/reference/slides/image#` | Sets the element's width in points, which is the width of the element's bounding box when the element has no rotation. |

## Detailed documentation

### `alignOnPage(alignmentPosition)`

Aligns the element to the specified alignment position on the page.

#### Parameters

| Name | Type | Description |
|---|---|---|
| `alignmentPosition` | `https://developers.google.com/apps-script/reference/slides/alignment-position` | The position to align this page element to on the page. |

#### Return


`https://developers.google.com/apps-script/reference/slides/image#` --- This page element, for chaining.

*** ** * ** ***

### `bringForward()`

Brings the page element forward on the page by one element.

The page element must not be in a group.

#### Return


`https://developers.google.com/apps-script/reference/slides/image#` --- This page element, for chaining.

#### Authorization

Scripts that use this method require authorization with one or more of the following [scopes](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes):

- `https://www.googleapis.com/auth/presentations.currentonly`
- `https://www.googleapis.com/auth/presentations`

*** ** * ** ***

### `bringToFront()`

Brings the page element to the front of the page.

The page element must not be in a group.

#### Return


`https://developers.google.com/apps-script/reference/slides/image#` --- This page element, for chaining.

#### Authorization

Scripts that use this method require authorization with one or more of the following [scopes](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes):

- `https://www.googleapis.com/auth/presentations.currentonly`
- `https://www.googleapis.com/auth/presentations`

*** ** * ** ***

### `duplicate()`

Duplicates the page element.

The duplicate page element is placed on the same page at the same position as the original.

#### Return


`https://developers.google.com/apps-script/reference/slides/page-element` --- The new duplicate of this page element.

#### Authorization

Scripts that use this method require authorization with one or more of the following [scopes](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes):

- `https://www.googleapis.com/auth/presentations.currentonly`
- `https://www.googleapis.com/auth/presentations`

*** ** * ** ***

### `getAs(contentType)`

Return the data inside this object as a blob converted to the specified content type.

#### Parameters

| Name | Type | Description |
|---|---|---|
| `contentType` | `String` | The MIME type to convert to. |

#### Return


`https://developers.google.com/apps-script/reference/base/blob.html` --- The data as a blob.

*** ** * ** ***

### `getBlob()`

Return the data inside this image as a blob.

#### Return


`https://developers.google.com/apps-script/reference/base/blob.html` --- The image data as a blob.

*** ** * ** ***

### `getBorder()`

Returns the `https://developers.google.com/apps-script/reference/slides/border` of the image.

#### Return


`https://developers.google.com/apps-script/reference/slides/border` --- The border of the image.

#### Authorization

Scripts that use this method require authorization with one or more of the following [scopes](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes):

- `https://www.googleapis.com/auth/presentations.currentonly`
- `https://www.googleapis.com/auth/presentations`

*** ** * ** ***

### `getConnectionSites()`

Returns the list of `ConnectionSite`s on the page element, or an empty list if the page
element does not have any connection sites.

#### Return


`https://developers.google.com/apps-script/reference/slides/connection-site` --- The connection sites list, which may be empty if this element has no connection sites.

#### Authorization

Scripts that use this method require authorization with one or more of the following [scopes](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes):

- `https://www.googleapis.com/auth/presentations.currentonly`
- `https://www.googleapis.com/auth/presentations`

*** ** * ** ***

### `getContentUrl()`

Gets a URL to the image.

This URL is tagged with the account of the requester, so anyone with the URL effectively
accesses the image as the original requester. Access to the image may be lost if the
presentation's sharing settings change. The returned URL expires after a short period of time.

#### Return


`String`

#### Authorization

Scripts that use this method require authorization with one or more of the following [scopes](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes):

- `https://www.googleapis.com/auth/presentations.currentonly`
- `https://www.googleapis.com/auth/presentations`

*** ** * ** ***

### `getDescription()`

Returns the page element's alt text description. The description is combined with the title to
display and read alt text.

#### Return


`String` --- The page element's alt text description.

#### Authorization

Scripts that use this method require authorization with one or more of the following [scopes](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes):

- `https://www.googleapis.com/auth/presentations.currentonly`
- `https://www.googleapis.com/auth/presentations`

*** ** * ** ***

### `getHeight()`

Gets the element's height in points, which is the height of the element's bounding box when the
element has no rotation.

This method isn't compatible with all page elements. To learn which page elements aren't
compatible with this method, refer to the [sizing and positioning limitations](https://developers.google.com/apps-script/guides/slides/moving-elements#limitations).

#### Return


`Number|null` --- The page element's inherent height in points, or `null` if the page element does
not have a height.

#### Authorization

Scripts that use this method require authorization with one or more of the following [scopes](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes):

- `https://www.googleapis.com/auth/presentations.currentonly`
- `https://www.googleapis.com/auth/presentations`

*** ** * ** ***

### `getInherentHeight()`

Returns the element's inherent height in points.

The page element's transform is relative to its inherent size. Use the inherent size in
conjunction with the element's transform to determine the element's final visual appearance.

#### Return


`Number|null` --- The page element's inherent height in points, or `null` if the page element does
not have a height.

#### Authorization

Scripts that use this method require authorization with one or more of the following [scopes](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes):

- `https://www.googleapis.com/auth/presentations.currentonly`
- `https://www.googleapis.com/auth/presentations`

*** ** * ** ***

### `getInherentWidth()`

Returns the element's inherent width in points.

The page element's transform is relative to its inherent size. Use the inherent size in
conjunction with the element's transform to determine the element's final visual appearance.

#### Return


`Number|null` --- The page element's inherent width in points, or `null` if the page element does
not have a width.

#### Authorization

Scripts that use this method require authorization with one or more of the following [scopes](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes):

- `https://www.googleapis.com/auth/presentations.currentonly`
- `https://www.googleapis.com/auth/presentations`

*** ** * ** ***

### `getLeft()`

Returns the element's horizontal position in points, measured from the upper-left corner of the
page when the element has no rotation.

#### Return


`Number` --- This element's horizontal position in points, from the upper-left corner of the page.

#### Authorization

Scripts that use this method require authorization with one or more of the following [scopes](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes):

- `https://www.googleapis.com/auth/presentations.currentonly`
- `https://www.googleapis.com/auth/presentations`

*** ** * ** ***

### `getLink()`

Returns the `https://developers.google.com/apps-script/reference/slides/link` or `null` if there is no link.

```javascript
const shape = SlidesApp.getActivePresentation().getSlides()[0].getShapes()[0];
const link = shape.getLink();
if (link != null) {
  Logger.log(`Shape has a link of type: ${link.getLinkType()}`);
}
```

#### Return


`https://developers.google.com/apps-script/reference/slides/link|null` --- The `https://developers.google.com/apps-script/reference/slides/link` or `null` if there is no link.

#### Authorization

Scripts that use this method require authorization with one or more of the following [scopes](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes):

- `https://www.googleapis.com/auth/presentations.currentonly`
- `https://www.googleapis.com/auth/presentations`

*** ** * ** ***

### `getObjectId()`

Returns the unique ID for this object. Object IDs used by pages and page elements share the
same namespace.

#### Return


`String` --- The unique ID for this object.

#### Authorization

Scripts that use this method require authorization with one or more of the following [scopes](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes):

- `https://www.googleapis.com/auth/presentations.currentonly`
- `https://www.googleapis.com/auth/presentations`

*** ** * ** ***

### `getPageElementType()`

Returns the page element's type, represented as a `https://developers.google.com/apps-script/reference/slides/page-element-type` enum.

#### Return


`https://developers.google.com/apps-script/reference/slides/page-element-type` --- The page element's type.

#### Authorization

Scripts that use this method require authorization with one or more of the following [scopes](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes):

- `https://www.googleapis.com/auth/presentations.currentonly`
- `https://www.googleapis.com/auth/presentations`

*** ** * ** ***

### `getParentGroup()`

Returns the group this page element belongs to, or `null` if the element is not in a
group.

#### Return


`https://developers.google.com/apps-script/reference/slides/group|null` --- The group this page element belongs to, or `null`.

#### Authorization

Scripts that use this method require authorization with one or more of the following [scopes](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes):

- `https://www.googleapis.com/auth/presentations.currentonly`
- `https://www.googleapis.com/auth/presentations`

*** ** * ** ***

### `getParentPage()`

Returns the page this page element is on.

#### Return


`https://developers.google.com/apps-script/reference/slides/page` --- The page this element resides on.

#### Authorization

Scripts that use this method require authorization with one or more of the following [scopes](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes):

- `https://www.googleapis.com/auth/presentations.currentonly`
- `https://www.googleapis.com/auth/presentations`

*** ** * ** ***

### `getParentPlaceholder()`

Returns the parent page element of the placeholder. Returns `null` if the image is not a
placeholder or has no parent.

#### Return


`https://developers.google.com/apps-script/reference/slides/page-element|null` --- The parent page element of this image placeholder, or `null` if this image is not
a placeholder or doesn't have a parent.

#### Authorization

Scripts that use this method require authorization with one or more of the following [scopes](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes):

- `https://www.googleapis.com/auth/presentations.currentonly`
- `https://www.googleapis.com/auth/presentations`

*** ** * ** ***

### `getPlaceholderIndex()`

Returns the index of the placeholder image. If two or more placeholder images on the same page
are the same type, they each have a unique index value. Returns `null` if the image isn't
a placeholder.

#### Return


`Integer|null` --- This image's placeholder index, or `null` if the image isn't a placeholder.

#### Authorization

Scripts that use this method require authorization with one or more of the following [scopes](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes):

- `https://www.googleapis.com/auth/presentations.currentonly`
- `https://www.googleapis.com/auth/presentations`

*** ** * ** ***

### `getPlaceholderType()`

Returns the placeholder type of the image, or `PlaceholderType.NONE` if the shape is not
a placeholder.

#### Return


`https://developers.google.com/apps-script/reference/slides/placeholder-type` --- The placeholder type of this image.

#### Authorization

Scripts that use this method require authorization with one or more of the following [scopes](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes):

- `https://www.googleapis.com/auth/presentations.currentonly`
- `https://www.googleapis.com/auth/presentations`

*** ** * ** ***

### `getRotation()`

Returns the element's clockwise rotation angle around its center in degrees, where zero degrees
means no rotation.

#### Return


`Number` --- The rotation angle in degrees between 0 (inclusive) and 360 (exclusive).

#### Authorization

Scripts that use this method require authorization with one or more of the following [scopes](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes):

- `https://www.googleapis.com/auth/presentations.currentonly`
- `https://www.googleapis.com/auth/presentations`

*** ** * ** ***

### `getSourceUrl()`

Gets the image's source URL, if available.

When an image is inserted by URL, returns the URL provided during image insertion.

#### Return


`String|null` --- The image URL or `null` if the image does not have a source URL.

#### Authorization

Scripts that use this method require authorization with one or more of the following [scopes](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes):

- `https://www.googleapis.com/auth/presentations.currentonly`
- `https://www.googleapis.com/auth/presentations`

*** ** * ** ***

### `getTitle()`

Returns the page element's alt text title. The title is combined with the description to
display and read alt text.

#### Return


`String` --- The page element's alt text title.

#### Authorization

Scripts that use this method require authorization with one or more of the following [scopes](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes):

- `https://www.googleapis.com/auth/presentations.currentonly`
- `https://www.googleapis.com/auth/presentations`

*** ** * ** ***

### `getTop()`

Gets the element's vertical position in points, measured from the upper-left corner of the page
when the element has no rotation.

#### Return


`Number` --- This element's vertical position in points, from the upper-left corner of the page.

#### Authorization

Scripts that use this method require authorization with one or more of the following [scopes](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes):

- `https://www.googleapis.com/auth/presentations.currentonly`
- `https://www.googleapis.com/auth/presentations`

*** ** * ** ***

### `getTransform()`

Returns the page element's transform.

The visual appearance of the page element is determined by its absolute transform. To
compute the absolute transform, preconcatenate a page element's transform with the transforms
of all of its parent groups. If the page element is not in a group, its absolute transform is
the same as the value in this field.

#### Return


`https://developers.google.com/apps-script/reference/slides/affine-transform` --- The page element's transform.

#### Authorization

Scripts that use this method require authorization with one or more of the following [scopes](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes):

- `https://www.googleapis.com/auth/presentations.currentonly`
- `https://www.googleapis.com/auth/presentations`

*** ** * ** ***

### `getWidth()`

Returns the element's width in points, which is the width of the element's bounding box when
the element has no rotation.

This method isn't compatible with all page elements. To learn which page elements aren't
compatible with this method, refer to the [sizing and positioning limitations](https://developers.google.com/apps-script/guides/slides/moving-elements#limitations).

#### Return


`Number|null` --- The page element's inherent width in points, or `null` if the page element does
not have a width.

#### Authorization

Scripts that use this method require authorization with one or more of the following [scopes](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes):

- `https://www.googleapis.com/auth/presentations.currentonly`
- `https://www.googleapis.com/auth/presentations`

*** ** * ** ***

### `preconcatenateTransform(transform)`

Preconcatenates the provided transform to the existing transform of the page element.

```text
newTransform = argument * existingTransform;
```

For example, to move a page elements 36 points to the left:

```javascript
const element = SlidesApp.getActivePresentation().getSlides()[0].getPageElements()[0];
element.preconcatenateTransform(
    SlidesApp.newAffineTransformBuilder().setTranslateX(-36.0).build(),
);
```

You can also replace the page element's transform with `https://developers.google.com/apps-script/reference/slides/image#setTransform(AffineTransform)`.

#### Parameters

| Name | Type | Description |
|---|---|---|
| `transform` | `https://developers.google.com/apps-script/reference/slides/affine-transform` | The transform to preconcatenate onto this page element's transform. |

#### Return


`https://developers.google.com/apps-script/reference/slides/image#` --- This page element, for chaining.

#### Authorization

Scripts that use this method require authorization with one or more of the following [scopes](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes):

- `https://www.googleapis.com/auth/presentations.currentonly`
- `https://www.googleapis.com/auth/presentations`

*** ** * ** ***

### `remove()`

Removes the page element.

If after a remove operation, a `Group` contains only one or no page elements, the
group itself is also removed.

If a placeholder `PageElement` is removed on a master or layout, any empty inheriting
placeholders are also removed.

#### Authorization

Scripts that use this method require authorization with one or more of the following [scopes](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes):

- `https://www.googleapis.com/auth/presentations.currentonly`
- `https://www.googleapis.com/auth/presentations`

*** ** * ** ***

### `removeLink()`

Removes a `https://developers.google.com/apps-script/reference/slides/link`.

```javascript
const slides = SlidesApp.getActivePresentation().getSlides();
slides[1].getShapes()[0].removeLink();
```

*** ** * ** ***

### `replace(blobSource)`

Replaces this image with an image described by a [`BlobSource`](https://developers.google.com/apps-script/reference/base/blob-source) object.

Inserting the image fetches it from the [`BlobSource`](https://developers.google.com/apps-script/reference/base/blob-source) once and a copy is stored for display inside the presentation.
Images must be less than 50MB in size, cannot exceed 25 megapixels, and must be in either in
PNG, JPEG, or GIF format.

In order to maintain the image's aspect ratio, the image is scaled and centered with respect
to the size of the existing image.

```javascript
const image = SlidesApp.getActivePresentation().getSlides()[0].getImages()[0];
// Get the Drive image file with the given ID.
const driveImage = DriveApp.getFileById("123abc");
image.replace(driveImage);
```

#### Parameters

| Name | Type | Description |
|---|---|---|
| `blobSource` | `https://developers.google.com/apps-script/reference/base/blob-source.html` | The image data. |

#### Return


`https://developers.google.com/apps-script/reference/slides/image#` --- This `Image` after the replacement.

#### Authorization

Scripts that use this method require authorization with one or more of the following [scopes](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes):

- `https://www.googleapis.com/auth/presentations.currentonly`
- `https://www.googleapis.com/auth/presentations`

*** ** * ** ***

### `replace(blobSource, crop)`

Replaces this image with an image described by a `https://developers.google.com/apps-script/reference/slides/image#` object, optionally cropping
the image to fit.

Inserting the image fetches it from the [`BlobSource`](https://developers.google.com/apps-script/reference/base/blob-source) once and a copy is stored for display inside the presentation.
Images must be less than 50MB in size, cannot exceed 25 megapixels, and must be in either in
PNG, JPEG, or GIF format.

```javascript
const image = SlidesApp.getActivePresentation().getSlides()[0].getImages()[0];
// Get the Drive image file with the given ID.
const driveImage = DriveApp.getFileById('123abc');
// Replace and crop the drive image.
image.replace(driveImage, true);
```

#### Parameters

| Name | Type | Description |
|---|---|---|
| `blobSource` | `https://developers.google.com/apps-script/reference/base/blob-source.html` | The image data. |
| `crop` | `Boolean` | If `true`, crops the image to fit the existing image's size. Otherwise, the image is scaled and centered. |

#### Return


`https://developers.google.com/apps-script/reference/slides/image#` --- This `Image` after the replacement.

#### Authorization

Scripts that use this method require authorization with one or more of the following [scopes](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes):

- `https://www.googleapis.com/auth/presentations.currentonly`
- `https://www.googleapis.com/auth/presentations`

*** ** * ** ***

### `replace(imageUrl)`

Replaces this image with another image downloaded from the provided URL.

Inserting the image fetches it from the URL once and a copy is stored for display inside the
presentation. Images must be less than 50MB in size, cannot exceed 25 megapixels, and must be
in either in PNG, JPEG, or GIF format.

The provided URL must be publicly accessible and no larger than 2kB. The URL itself is saved
with the image and exposed via `https://developers.google.com/apps-script/reference/slides/image#getSourceUrl()`.

In order to maintain the image's aspect ratio, the image is scaled and centered with respect
to the size of the existing image.

#### Parameters

| Name | Type | Description |
|---|---|---|
| `imageUrl` | `String` | The URL to download the image from. |

#### Return


`https://developers.google.com/apps-script/reference/slides/image#` --- This `Image` after the replacement.

#### Authorization

Scripts that use this method require authorization with one or more of the following [scopes](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes):

- `https://www.googleapis.com/auth/presentations.currentonly`
- `https://www.googleapis.com/auth/presentations`

*** ** * ** ***

### `replace(imageUrl, crop)`

Replaces this image with another image downloaded from the provided URL, optionally cropping
the image to fit.

Inserting the image fetches it from the URL once and a copy is stored for display inside the
presentation. Images must be less than 50MB in size, cannot exceed 25 megapixels, and must be
in either in PNG, JPEG, or GIF format.

The provided URL must be no larger than 2kB.

#### Parameters

| Name | Type | Description |
|---|---|---|
| `imageUrl` | `String` | The URL to download the image from. |
| `crop` | `Boolean` | If `true`, crops the image to fit the existing image's size. Otherwise, the image is scaled and centered. |

#### Return


`https://developers.google.com/apps-script/reference/slides/image#` --- This `Image` after the replacement.

#### Authorization

Scripts that use this method require authorization with one or more of the following [scopes](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes):

- `https://www.googleapis.com/auth/presentations.currentonly`
- `https://www.googleapis.com/auth/presentations`

*** ** * ** ***

### `scaleHeight(ratio)`

Scales the element's height by the specified ratio. The element's height is the height of its
bounding box when the element has no rotation.

This method isn't compatible with all page elements. To learn which page elements aren't
compatible with this method, refer to the [sizing and positioning limitations](https://developers.google.com/apps-script/guides/slides/moving-elements#limitations).

#### Parameters

| Name | Type | Description |
|---|---|---|
| `ratio` | `Number` | The ratio to scale this page element's height by. |

#### Return


`https://developers.google.com/apps-script/reference/slides/image#` --- This page element, for chaining.

#### Authorization

Scripts that use this method require authorization with one or more of the following [scopes](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes):

- `https://www.googleapis.com/auth/presentations.currentonly`
- `https://www.googleapis.com/auth/presentations`

*** ** * ** ***

### `scaleWidth(ratio)`

Scales the element's width by the specified ratio. The element's width is the width of its
bounding box when the element has no rotation.

This method isn't compatible with all page elements. To learn which page elements aren't
compatible with this method, refer to the [sizing and positioning limitations](https://developers.google.com/apps-script/guides/slides/moving-elements#limitations).

#### Parameters

| Name | Type | Description |
|---|---|---|
| `ratio` | `Number` | The ratio to scale this page element's width by. |

#### Return


`https://developers.google.com/apps-script/reference/slides/image#` --- This page element, for chaining.

#### Authorization

Scripts that use this method require authorization with one or more of the following [scopes](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes):

- `https://www.googleapis.com/auth/presentations.currentonly`
- `https://www.googleapis.com/auth/presentations`

*** ** * ** ***

### `select()`

Selects only the `https://developers.google.com/apps-script/reference/slides/page-element` in the active presentation and removes any previous
selection. This is the same as calling `https://developers.google.com/apps-script/reference/slides/image#select(Boolean)` with `true`.

A script can only access the selection of the user who is running the script, and only if
the script is [bound](https://developers.google.com/apps-script/scripts_containers) to the presentation.

This sets the parent `https://developers.google.com/apps-script/reference/slides/page` of the `https://developers.google.com/apps-script/reference/slides/page-element` as the `https://developers.google.com/apps-script/reference/slides/selection#getCurrentPage()`.

```javascript
const slide = SlidesApp.getActivePresentation().getSlides()[0];
const pageElement = slide.getPageElements()[0];
// Only select this page element and replace any previous selection.
pageElement.select();
```

#### Authorization

Scripts that use this method require authorization with one or more of the following [scopes](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes):

- `https://www.googleapis.com/auth/presentations.currentonly`
- `https://www.googleapis.com/auth/presentations`

*** ** * ** ***

### `select(replace)`

Selects the `https://developers.google.com/apps-script/reference/slides/page-element` in the active presentation.

A script can only access the selection of the user who is running the script, and only if
the script is [bound](https://developers.google.com/apps-script/scripts_containers) to the presentation.

Pass `true` to this method to select only the `https://developers.google.com/apps-script/reference/slides/page-element` and remove any
previous selection. This also sets the parent `https://developers.google.com/apps-script/reference/slides/page` of the `https://developers.google.com/apps-script/reference/slides/page-element` as the
`https://developers.google.com/apps-script/reference/slides/selection#getCurrentPage()`.

Pass `false` to select multiple `https://developers.google.com/apps-script/reference/slides/page-element` objects. The `https://developers.google.com/apps-script/reference/slides/page-element`
objects must be in the same `https://developers.google.com/apps-script/reference/slides/page`.

The following conditions must be met while selecting a page element using a `false`
parameter:

1. The parent `https://developers.google.com/apps-script/reference/slides/page` of the `https://developers.google.com/apps-script/reference/slides/page-element` object must be the `https://developers.google.com/apps-script/reference/slides/selection#getCurrentPage()`.
2. There should not be multiple `https://developers.google.com/apps-script/reference/slides/page` objects selected.

To make sure that's the case the preferred approach is to select the parent `https://developers.google.com/apps-script/reference/slides/page`
first using `https://developers.google.com/apps-script/reference/slides/page#selectAsCurrentPage()` and then select the page elements in that page.

```javascript
const slide = SlidesApp.getActivePresentation().getSlides()[0];
// First select the slide page, as the current page selection.
slide.selectAsCurrentPage();
// Then select all the page elements in the selected slide page.
const pageElements = slide.getPageElements();
for (let i = 0; i < pageElements.length; i++) {
  pageElements[i].select(false);
}
```

#### Parameters

| Name | Type | Description |
|---|---|---|
| `replace` | `Boolean` | If `true`, the selection replaces any previous selection; otherwise the selection is added to any previous selection. |

#### Authorization

Scripts that use this method require authorization with one or more of the following [scopes](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes):

- `https://www.googleapis.com/auth/presentations.currentonly`
- `https://www.googleapis.com/auth/presentations`

*** ** * ** ***

### `sendBackward()`

Sends the page element backward on the page by one element.

The page element must not be in a group.

#### Return


`https://developers.google.com/apps-script/reference/slides/image#` --- This page element, for chaining.

#### Authorization

Scripts that use this method require authorization with one or more of the following [scopes](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes):

- `https://www.googleapis.com/auth/presentations.currentonly`
- `https://www.googleapis.com/auth/presentations`

*** ** * ** ***

### `sendToBack()`

Sends the page element to the back of the page.

The page element must not be in a group.

#### Return


`https://developers.google.com/apps-script/reference/slides/image#` --- This page element, for chaining.

#### Authorization

Scripts that use this method require authorization with one or more of the following [scopes](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes):

- `https://www.googleapis.com/auth/presentations.currentonly`
- `https://www.googleapis.com/auth/presentations`

*** ** * ** ***

### `setDescription(description)`

Sets the page element's alt text description.

The method is not supported for `https://developers.google.com/apps-script/reference/slides/group` elements.

```javascript
// Set the first page element's alt text description to "new alt text
// description".
const pageElement =
    SlidesApp.getActivePresentation().getSlides()[0].getPageElements()[0];
pageElement.setDescription('new alt text description');
Logger.log(pageElement.getDescription());
```

#### Parameters

| Name | Type | Description |
|---|---|---|
| `description` | `String` | The string to set the alt text description to. |

#### Return


`https://developers.google.com/apps-script/reference/slides/image#` --- This page element.

#### Authorization

Scripts that use this method require authorization with one or more of the following [scopes](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes):

- `https://www.googleapis.com/auth/presentations.currentonly`
- `https://www.googleapis.com/auth/presentations`

*** ** * ** ***

### `setHeight(height)`

Sets the element's height in points, which is the height of the element's bounding box when the
element has no rotation.

This method isn't compatible with all page elements. To learn which page elements aren't
compatible with this method, refer to the [sizing and positioning limitations](https://developers.google.com/apps-script/guides/slides/moving-elements#limitations).

#### Parameters

| Name | Type | Description |
|---|---|---|
| `height` | `Number` | The new height of this page element to set, in points. |

#### Return


`https://developers.google.com/apps-script/reference/slides/image#` --- This page element, for chaining.

#### Authorization

Scripts that use this method require authorization with one or more of the following [scopes](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes):

- `https://www.googleapis.com/auth/presentations.currentonly`
- `https://www.googleapis.com/auth/presentations`

*** ** * ** ***

### `setLeft(left)`

Sets the element's horizontal position in points, measured from the upper-left corner of the
page when the element has no rotation.

#### Parameters

| Name | Type | Description |
|---|---|---|
| `left` | `Number` | The new horizontal position to set, in points. |

#### Return


`https://developers.google.com/apps-script/reference/slides/image#` --- This page element, for chaining.

#### Authorization

Scripts that use this method require authorization with one or more of the following [scopes](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes):

- `https://www.googleapis.com/auth/presentations.currentonly`
- `https://www.googleapis.com/auth/presentations`

*** ** * ** ***

### `setLinkSlide(slideIndex)`

Sets a `https://developers.google.com/apps-script/reference/slides/link` to the given `https://developers.google.com/apps-script/reference/slides/slide` using the zero-based index of the slide.

```javascript
// Set a link to the first slide of the presentation.
const slides = SlidesApp.getActivePresentation().getSlides();
const shape = slides[1].getShapes()[0];
const link = shape.setLinkSlide(0);
```

#### Parameters

| Name | Type | Description |
|---|---|---|
| `slideIndex` | `Integer` | The zero-based index to the slide. |

#### Return


`https://developers.google.com/apps-script/reference/slides/link` --- The `https://developers.google.com/apps-script/reference/slides/link` that was set.

#### Authorization

Scripts that use this method require authorization with one or more of the following [scopes](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes):

- `https://www.googleapis.com/auth/presentations.currentonly`
- `https://www.googleapis.com/auth/presentations`

*** ** * ** ***

### `setLinkSlide(slide)`

Sets a `https://developers.google.com/apps-script/reference/slides/link` to the given `https://developers.google.com/apps-script/reference/slides/slide`, the link is set by the given slide ID.

```javascript
// Set a link to the first slide of the presentation.
const slides = SlidesApp.getActivePresentation().getSlides();
const shape = slides[1].getShapes()[0];
const link = shape.setLinkSlide(slides[0]);
```

#### Parameters

| Name | Type | Description |
|---|---|---|
| `slide` | `https://developers.google.com/apps-script/reference/slides/slide` | The `https://developers.google.com/apps-script/reference/slides/slide` to be linked. |

#### Return


`https://developers.google.com/apps-script/reference/slides/link` --- The `https://developers.google.com/apps-script/reference/slides/link` that was set.

#### Authorization

Scripts that use this method require authorization with one or more of the following [scopes](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes):

- `https://www.googleapis.com/auth/presentations.currentonly`
- `https://www.googleapis.com/auth/presentations`

*** ** * ** ***

### `setLinkSlide(slidePosition)`

Sets a `https://developers.google.com/apps-script/reference/slides/link` to the given `https://developers.google.com/apps-script/reference/slides/slide` using the relative position of the slide.

```javascript
// Set a link to the first slide of the presentation.
const slides = SlidesApp.getActivePresentation().getSlides();
const shape = slides[1].getShapes()[0];
const link = shape.setLinkSlide(SlidesApp.SlidePosition.FIRST_SLIDE);
```

#### Parameters

| Name | Type | Description |
|---|---|---|
| `slidePosition` | `https://developers.google.com/apps-script/reference/slides/slide-position` | The relative `https://developers.google.com/apps-script/reference/slides/slide-position`. |

#### Return


`https://developers.google.com/apps-script/reference/slides/link` --- The `https://developers.google.com/apps-script/reference/slides/link` that was set.

#### Authorization

Scripts that use this method require authorization with one or more of the following [scopes](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes):

- `https://www.googleapis.com/auth/presentations.currentonly`
- `https://www.googleapis.com/auth/presentations`

*** ** * ** ***

### `setLinkUrl(url)`

Sets a `https://developers.google.com/apps-script/reference/slides/link` to the given non-empty URL string.

```javascript
// Set a link to the URL.
const slides = SlidesApp.getActivePresentation().getSlides();
const shape = slides[1].getShapes()[0];
const link = shape.setLinkUrl('https://slides.google.com');
```

#### Parameters

| Name | Type | Description |
|---|---|---|
| `url` | `String` | The URL string. |

#### Return


`https://developers.google.com/apps-script/reference/slides/link` --- The `https://developers.google.com/apps-script/reference/slides/link` that was set.

#### Authorization

Scripts that use this method require authorization with one or more of the following [scopes](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes):

- `https://www.googleapis.com/auth/presentations.currentonly`
- `https://www.googleapis.com/auth/presentations`

*** ** * ** ***

### `setRotation(angle)`

Sets the element's clockwise rotation angle around its center in degrees.

This method isn't compatible with all page elements. To learn which page elements aren't
compatible with this method, refer to the [sizing and positioning limitations](https://developers.google.com/apps-script/guides/slides/moving-elements#limitations).

#### Parameters

| Name | Type | Description |
|---|---|---|
| `angle` | `Number` | The new clockwise rotation angle to set, in degrees. |

#### Return


`https://developers.google.com/apps-script/reference/slides/image#` --- This page element, for chaining.

#### Authorization

Scripts that use this method require authorization with one or more of the following [scopes](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes):

- `https://www.googleapis.com/auth/presentations.currentonly`
- `https://www.googleapis.com/auth/presentations`

*** ** * ** ***

### `setTitle(title)`

Sets the page element's alt text title.

The method is not supported for `https://developers.google.com/apps-script/reference/slides/group` elements.

```javascript
// Set the first page element's alt text title to "new alt text title".
const pageElement =
    SlidesApp.getActivePresentation().getSlides()[0].getPageElements()[0];
pageElement.setTitle('new alt text title');
Logger.log(pageElement.getTitle());
```

#### Parameters

| Name | Type | Description |
|---|---|---|
| `title` | `String` | The string to set the alt text title to. |

#### Return


`https://developers.google.com/apps-script/reference/slides/image#` --- This page element.

#### Authorization

Scripts that use this method require authorization with one or more of the following [scopes](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes):

- `https://www.googleapis.com/auth/presentations.currentonly`
- `https://www.googleapis.com/auth/presentations`

*** ** * ** ***

### `setTop(top)`

Sets the element's vertical position in points, measured from the upper-left corner of the page
when the element has no rotation.

#### Parameters

| Name | Type | Description |
|---|---|---|
| `top` | `Number` | The new vertical position to set, in points. |

#### Return


`https://developers.google.com/apps-script/reference/slides/image#` --- This page element, for chaining.

#### Authorization

Scripts that use this method require authorization with one or more of the following [scopes](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes):

- `https://www.googleapis.com/auth/presentations.currentonly`
- `https://www.googleapis.com/auth/presentations`

*** ** * ** ***

### `setTransform(transform)`

Sets the transform of the page element with the provided transform.

Updating the transform of a group changes the absolute transform of the page elements in
that group, which can change their visual appearance.

Updating the transform of a page element that is in a group only changes the transform of
that page element; it doesn't affect the transforms of the group or other page elements in the
group.

For details on how transforms impact the visual appearance of page elements, see `https://developers.google.com/apps-script/reference/slides/image#getTransform()`.

#### Parameters

| Name | Type | Description |
|---|---|---|
| `transform` | `https://developers.google.com/apps-script/reference/slides/affine-transform` | The transform that is set for this page element. |

#### Return


`https://developers.google.com/apps-script/reference/slides/image#` --- This element, for chaining.

#### Authorization

Scripts that use this method require authorization with one or more of the following [scopes](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes):

- `https://www.googleapis.com/auth/presentations.currentonly`
- `https://www.googleapis.com/auth/presentations`

*** ** * ** ***

### `setWidth(width)`

Sets the element's width in points, which is the width of the element's bounding box when the
element has no rotation.

This method isn't compatible with all page elements. To learn which page elements aren't
compatible with this method, refer to the [sizing and positioning limitations](https://developers.google.com/apps-script/guides/slides/moving-elements#limitations).

#### Parameters

| Name | Type | Description |
|---|---|---|
| `width` | `Number` | The new width of this page element to set, in points. |

#### Return


`https://developers.google.com/apps-script/reference/slides/image#` --- This page element, for chaining.

#### Authorization

Scripts that use this method require authorization with one or more of the following [scopes](https://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes):

- `https://www.googleapis.com/auth/presentations.currentonly`
- `https://www.googleapis.com/auth/presentations`