###### (This function is part of SDL_image, a separate library from SDL.)
# IMG_SaveTyped_IO

Save an SDL_Surface into formatted image data, via an SDL_IOStream.

## Header File

Defined in [<SDL3_image/SDL_image.h>](https://github.com/libsdl-org/SDL_image/blob/main/include/SDL3_image/SDL_image.h)

## Syntax

```c
bool IMG_SaveTyped_IO(SDL_Surface *surface, SDL_IOStream *dst, bool closeio, const char *type);
```

## Function Parameters

|                |             |                                                                               |
| -------------- | ----------- | ----------------------------------------------------------------------------- |
| SDL_Surface *  | **surface** | the SDL surface to save.                                                      |
| SDL_IOStream * | **dst**     | the SDL_IOStream to save the image data to.                                   |
| bool           | **closeio** | true to close/free the SDL_IOStream before returning, false to leave it open. |
| const char *   | **type**    | a filename extension that represent this data ("BMP", "GIF", "PNG", etc).     |

## Return Value

(bool) Returns true on success or false on failure; call SDL_GetError() for
more information.

## Remarks

If you just want to save to a filename, you can use [IMG_Save](IMG_Save)()
instead.

If `closeio` is true, `dst` will be closed before returning, whether this
function succeeds or not.

For formats that accept a quality, a default quality of 90 will be used.

## Version

This function is available since SDL_image 3.4.0.

## See Also

- [IMG_Save](IMG_Save)
- [IMG_SaveAVIF_IO](IMG_SaveAVIF_IO)
- [IMG_SaveBMP_IO](IMG_SaveBMP_IO)
- [IMG_SaveCUR_IO](IMG_SaveCUR_IO)
- [IMG_SaveGIF_IO](IMG_SaveGIF_IO)
- [IMG_SaveICO_IO](IMG_SaveICO_IO)
- [IMG_SaveJPG_IO](IMG_SaveJPG_IO)
- [IMG_SavePNG_IO](IMG_SavePNG_IO)
- [IMG_SaveTGA_IO](IMG_SaveTGA_IO)
- [IMG_SaveWEBP_IO](IMG_SaveWEBP_IO)

----
[CategoryAPI](CategoryAPI), [CategoryAPIFunction](CategoryAPIFunction), [CategorySDLImage](CategorySDLImage)

