XpmCreateImage(3) libXpm functions XpmCreateImage(3)

# [NAME](#NAME)

XpmCreateImage - create an XImage from an XPM

# [SYNOPSIS](#SYNOPSIS)

```
int XpmCreateImageFromData(Display *display, char **data,
XImage **image_return, XImage **shapeimage_return,
XpmAttributes *attributes);
```

```
int XpmCreateImageFromBuffer(Display *display, char *buffer,
XImage **image_return, XImage **shapeimage_return,
XpmAttributes *attributes);
```

```
int XpmCreateImageFromXpmImage(Display *display,  XpmImage *image,
XImage *image_return, XImage *shapeimage_return,
XpmAttributes *attributes);
```

# [ARGUMENTS](#ARGUMENTS)

[*display*](#display)

Specifies the connection to the X server.

[*data*](#data)

Specifies the location of the data.

[*image\_return*](#image_return)

Returns the image which is created.

[*shapeimage\_return*](#shapeimage_return)

Returns the shape mask image which is created if the color None is used.

[*attributes*](#attributes)

Specifies the location of a structure to get and store information (or NULL).

[*shapeimage*](#shapeimage)

Specifies the shape mask image which is created if any.

# [DESCRIPTION](#DESCRIPTION)

## [XpmCreateImageFromData](#XpmCreateImageFromData)

To create an XImage from an XPM data, use **XpmCreateImageFromData**().

The **XpmCreateImageFromData**() function allows you to include in your C program an XPM file which was written out by functions such as [**XpmWriteFileFromImage**(3)](/man/os/libxpm/XpmWriteFileFromImage.3) or [**XpmWriteFileFromPixmap**(3)](/man/os/libxpm/XpmWriteFileFromPixmap.3) without reading in the file. **XpmCreateImageFromData**() exactly works as [**XpmReadFileToImage**(3)](/man/os/libxpm/XpmReadFileToImage.3) does and returns the same way. It just reads data instead of a file. Here again, it is the caller’s responsibility to free the returned images, the colors, and possibly the data returned into the XpmAttributes structure.

## [XpmCreateImageFromBuffer](#XpmCreateImageFromBuffer)

To create an XImage from an XPM buffer, use **XpmCreateImageFromBuffer**(). The **XpmCreateImageFromBuffer**() function works the same way as [**XpmReadFileToImage**(3)](/man/os/libxpm/XpmReadFileToImage.3), it just parses the buffer instead of the file. Be aware that the feature provided on some systems by [**XpmReadFileToImage**(3)](/man/os/libxpm/XpmReadFileToImage.3) to deal with compressed files is not available here.

## [XpmCreateImageFromXpmImage](#XpmCreateImageFromXpmImage)

To create an XImage from an XpmImage, use **XpmCreateImageFromXpmImage**(). From the given XpmImage and XpmAttributes if not NULL, **XpmCreateImageFromXpmImage**() allocates colors and creates X images following the same mechanism as [**XpmReadFileToImage**(3)](/man/os/libxpm/XpmReadFileToImage.3). When finished the caller must free the images using [**XDestroyImage**(3)](/man/os/libxpm/XDestroyImage.3), the colors using [**XFreeColors**(3)](/man/os/libxpm/XFreeColors.3), and possibly the data returned into the XpmAttributes using [**XpmFreeAttributes**(3)](/man/os/libxpm/XpmFreeAttributes.3).

# [SEE ALSO](#SEE_ALSO)

[**XpmFreeAttributes**(3)](/man/os/libxpm/XpmFreeAttributes.3), [**XpmReadFileToImage**(3)](/man/os/libxpm/XpmReadFileToImage.3)

libXpm 3.5.19 X Version 11

---

Document: XpmCreateImageFromData(3) from libxpm 3.5.19-r5 (Chainguard OS)
Source: https://gitlab.freedesktop.org/xorg/lib/libxpm.git
