---
name: "SDL_ScaleSurface"
section: "3"
platform: "linux"
package: "libsdl3-doc"
version: "3.2.10+ds-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/SDL_ScaleSurface"
---

# SDL\_ScaleSurface(3)

Creates a new surface identical to the existing surface, scaled to the desired size.

## NAME

SDL\_ScaleSurface - Creates a new surface identical to the existing surface, scaled to the desired size.

## HEADER FILE

Defined in SDL3/SDL\_surface.h

## SYNOPSIS

```
#include "SDL3/SDL.h"
```

**SDL\_Surface \* SDL\_ScaleSurface(SDL\_Surface \*surface, int width, int height, SDL\_ScaleMode scaleMode);**

## DESCRIPTION

The returned surface should be freed with

**SDL\_DestroySurface** ().

## FUNCTION PARAMETERS

- *surface*

  the surface to duplicate and scale.

- *width*

  the width of the new surface.

- *height*

  the height of the new surface.

- *scaleMode*

  the  **SDL\_ScaleMode**\
    to be used.

## RETURN VALUE

( **SDL\_Surface**\
  \*) Returns a copy of the surface or NULL on failure; call  **SDL\_GetError** () for more information.

## THREAD SAFETY

This function is not thread safe.

## AVAILABILITY

This function is available since SDL 3.2.0.

## SEE ALSO

**•**(3), [**SDL\_DestroySurface**(3)](/SDL_DestroySurface/3.md)
