# Add Rectangles to Presentations in PHP

> Boost your PowerPoint presentations by adding rectangles with Aspose.Slides for PHP via Java — easily design and modify shapes programmatically.

Source: https://docs.aspose.com/slides/php-java/rectangle/
Updated: 2026-08-02


## **Overview**

This article shows how to add rectangle shapes to PowerPoint slides by using Aspose.Slides. It covers creating a simple rectangle, creating a formatted rectangle, and saving the updated presentation as a PPTX file.

You will also see how to apply basic rectangle formatting, such as a solid fill color, line color, and line width. In addition, the article’s FAQ points to related rectangle tasks, including rounded corners, picture fills, visual effects, hyperlinks, shape locks, export options, and effective properties.

## **Add a Rectangle to a Slide**
To add a simple rectangle to a selected slide of the presentation, please follow the steps below:

- Create an instance of [Presentation](https://reference.aspose.com/slides/php-java/aspose.slides/presentation) class.
- Obtain the reference of a slide by using its Index.
- Add an [AutoShape](https://reference.aspose.com/slides/php-java/aspose.slides/autoshape/) of Rectangle type using [addAutoShape](https://reference.aspose.com/slides/php-java/aspose.slides/shapecollection/#addAutoShape) method exposed by [ShapeCollection](https://reference.aspose.com/slides/php-java/aspose.slides/shapecollection/) object.
- Write the modified presentation as a PPTX file.

In the example given below, we have added a simple rectangle to the first slide of the presentation.

```php
  # Instantiate Prseetation class that represents the PPTX
  $pres = new Presentation();
  try {
    # Get the first slide
    $sld = $pres->getSlides()->get_Item(0);
    # Add AutoShape of ellipse type
    $shp = $sld->getShapes()->addAutoShape(ShapeType::Rectangle, 50, 150, 150, 50);
    # Write the PPTX file to disk
    $pres->save("RecShp1.pptx", SaveFormat::Pptx);
  } finally {
    if (!java_is_null($pres)) {
      $pres->dispose();
    }
  }
```

## **Add a Formatted Rectangle to a Slide**
To add a formatted rectangle to a slide, please follow the steps below:

- Create an instance of [Presentation](https://reference.aspose.com/slides/php-java/aspose.slides/presentation) class.
- Obtain the reference of a slide by using its Index.
- Add an [AutoShape](https://reference.aspose.com/slides/php-java/aspose.slides/autoshape/) of Rectangle type using [addAutoShape](https://reference.aspose.com/slides/php-java/aspose.slides/shapecollection/#addAutoShape) method exposed by [ShapeCollection](https://reference.aspose.com/slides/php-java/aspose.slides/shapecollection/) object.
- Set the [Fill Type](https://reference.aspose.com/slides/php-java/aspose.slides/FillType) of the Rectangle to Solid.
- Set the Color of the Rectangle using [ColorFormat::setColor](https://reference.aspose.com/slides/php-java/aspose.slides/colorformat/#setColor) method as exposed by [FillFormat](https://reference.aspose.com/slides/php-java/aspose.slides/fillformat/) object associated with the [Shape](https://reference.aspose.com/slides/php-java/aspose.slides/shape/) object.
- Set the Color of the lines of the Rectangle.
- Set the Width of the lines of the Rectangle.
- Write the modified presentation as PPTX file.

The above steps are implemented in the example given below.

```php
  # Instantiate Prseetation class that represents the PPTX
  $pres = new Presentation();
  try {
    # Get the first slide
    $sld = $pres->getSlides()->get_Item(0);
    # Add AutoShape of ellipse type
    $shp = $sld->getShapes()->addAutoShape(ShapeType::Rectangle, 50, 150, 150, 50);
    # Apply some formatting to ellipse shape
    $shp->getFillFormat()->setFillType(FillType::Solid);
    $shp->getFillFormat()->getSolidFillColor()->setColor(java("java.awt.Color")->GRAY);
    # Apply some formatting to the line of Ellipse
    $shp->getLineFormat()->getFillFormat()->setFillType(FillType::Solid);
    $shp->getLineFormat()->getFillFormat()->getSolidFillColor()->setColor(java("java.awt.Color")->BLACK);
    $shp->getLineFormat()->setWidth(5);
    # Write the PPTX file to disk
    $pres->save("RecShp2.pptx", SaveFormat::Pptx);
  } finally {
    if (!java_is_null($pres)) {
      $pres->dispose();
    }
  }
```

## **FAQ**

### How do I add a rectangle with rounded corners?

Use the rounded-corner [shape type](https://reference.aspose.com/slides/php-java/aspose.slides/shapetype/) and adjust the corner radius in the shape’s properties; rounding can also be applied per corner via geometry adjustments.

### How do I fill a rectangle with an image (texture)?

Select the picture [fill type](https://reference.aspose.com/slides/php-java/aspose.slides/filltype/), provide the image source, and configure [stretching/tiling modes](https://reference.aspose.com/slides/php-java/aspose.slides/picturefillmode/).

### Can a rectangle have shadow and glow?

Yes. [Outer/inner shadow, glow, and soft edges](/slides/php-java/shape-effect/) are available with adjustable parameters.

### Can I turn a rectangle into a button with a hyperlink?

Yes. [Assign a hyperlink](/slides/php-java/manage-hyperlinks/) to the shape click (jump to a slide, file, web address, or e-mail).

### How can I protect a rectangle from moving and changes?

Use shape locks: you can forbid moving, resizing, selection, or text editing to preserve the layout.

### Can I convert a rectangle to a raster image or SVG?

Yes. You can [render the shape](https://reference.aspose.com/slides/php-java/aspose.slides/shape/#getImage) to an image with a specified size/scale or [export it as SVG](https://reference.aspose.com/slides/php-java/aspose.slides/shape/writeassvg/) for vector use.

### How do I quickly get the actual (effective) properties of a rectangle considering theme and inheritance?

[Use the shape’s effective properties](/slides/php-java/shape-effective-properties/): the API returns computed values that account for theme styles, layout, and local settings, simplifying formatting analysis.



## Related articles

- [Add Ellipses to Presentations in PHP](https://docs.aspose.com/slides/php-java/ellipse/)