---
name: "XDrawImageString"
section: "3x"
platform: "linux"
package: "libx11-dev"
version: "4.3.0.dfsg.1-14sarge7"
release: "Debian 3.1 (Sarge)"
platforms: ["linux"]
url: "https://new.carta.tech/XDrawImageString/3x"
---

# XDrawImageString(3x)

draw image text

## NAME

XDrawImageString, XDrawImageString16 - draw image text

## SYNTAX

int XDrawImageString(Display \**display*, Drawable *d*, GC *gc*, int *x*, int *y*, char \**string*, int *length*);

int XDrawImageString16(Display \**display*, Drawable *d*, GC *gc*, int *x*, int *y*, XChar2b \**string*, int *length*);

## ARGUMENTS

- *d*

  Specifies the drawable.

- *display*

  Specifies the connection to the X server.

- *gc*

  Specifies the GC.

- *length*

  Specifies the number of characters in the string argument.

- *string*

  Specifies the character string. and define the origin of the first character

- *x*

  - *y*

  Specify the x and y coordinates, which are relative to the origin of the specified drawable.

## DESCRIPTION

The *XDrawImageString16* function is similar to *XDrawImageString* except that it uses 2-byte or 16-bit characters. Both functions also use both the foreground and background pixels  of the GC in the destination.

The effect is first to fill a destination rectangle with the background pixel defined in the GC and then to paint the text with the foreground pixel. The upper-left corner of the filled rectangle is at:

```
[x, y - font-ascent]

```

The width is:

```
overall-width

```

The height is:

```
font-ascent + font-descent

```

The overall-width, font-ascent, and font-descent are as would be returned by  *XQueryTextExtents* using gc and string. The function and fill-style defined in the GC are ignored for these functions.  The effective function is  *GXcopy*, and the effective fill-style is *FillSolid*.

For fonts defined with 2-byte matrix indexing and used with *XDrawImageString*, each byte is used as a byte2 with a byte1 of zero.

Both functions use these GC components:  plane-mask, foreground, background, font, subwindow-mode, clip-x-origin,  clip-y-origin, and clip-mask.

*XDrawImageString* and *XDrawImageString16* can generate *BadDrawable*, *BadGC*, and *BadMatch* errors.

## DIAGNOSTICS

- *BadDrawable*

  A value for a Drawable argument does not name a defined Window or Pixmap.

- *BadGC*

  A value for a GContext argument does not name a defined GContext.

- *BadMatch*

  An *InputOnly* window is used as a Drawable.

- *BadMatch*

  Some argument or pair of arguments has the correct type and range but fails to match in some other way required by the request.

## SEE ALSO

XDrawString(3X11), XDrawText(3X11), XLoadFont(3X11), XTextExtents(3X11)\
 *Xlib - C Language X Interface*
