imagefttext

Write text to the image using fonts using FreeType 2

&reftitle.description; ``array``false```imagefttext` `GdImage` `image` `float` `size` `float` `angle` `int` `x` `int` `y` `int` `color` `string` `font_filename` `string` `text` `array` `options`[]

Prior to PHP 8.0.0, `imagefttext` was an extended variant of `imagettftext` which additionally supported the `options`. As of PHP 8.0.0, `imagettftext` is an alias of `imagefttext`.

&reftitle.parameters;

&gd.image.description;

`size`

- The font size to use in points.

`angle`

- The angle in degrees, with 0 degrees being left-to-right reading text. Higher values represent a counter-clockwise rotation. For example, a value of 90 would result in bottom-to-top reading text.

`x`

- The coordinates given by `x` and `y` will define the basepoint of the first character (roughly the lower-left corner of the character). This is different from the `imagestring`, where `x` and `y` define the upper-left corner of the first character. For example, "top left" is 0, 0.

`y`

- The y-ordinate. This sets the position of the fonts baseline, not the very bottom of the character.

`color`

- The index of the desired color for the text, see `imagecolorexact`.

`font_filename`

- The path to the TrueType font you wish to use.

  Depending on which version of the GD library PHP is using, when `font_filename` does not begin with a leading `/` then `.ttf` will be appended to the filename and the library will attempt to search for that filename along a library-defined font path.

  In many cases where a font resides in the same directory as the script using it the following trick will alleviate any include problems.

      <?php
      // Set the environment variable for GD
      putenv('GDFONTPATH=' . realpath('.'));

      // Name the font to be used (note the lack of the .ttf extension)
      $font = 'SomeFont';
      ?>

`text`

- Text to be inserted into image.

`options`

- ## Possible array indexes for `options`

  Key | Type | Meaning
  `linespacing` | `float` | Defines drawing linespacing

&reftitle.returnvalues;

This function returns an array defining the four points of the box, starting in the lower left and moving counter-clockwise:

0 | lower left x-coordinate
1 | lower left y-coordinate
2 | lower right x-coordinate
3 | lower right y-coordinate
4 | upper right x-coordinate
5 | upper right y-coordinate
6 | upper left x-coordinate
7 | upper left y-coordinate

On failure, &false; is returned.

&reftitle.changelog;

&Version; | &Description;
&gd.changelog.image-param;

&reftitle.examples;

### `imagefttext` example

    <?php
    // Create a 300x100 image
    $im = imagecreatetruecolor(300, 100);
    $red = imagecolorallocate($im, 0xFF, 0x00, 0x00);
    $black = imagecolorallocate($im, 0x00, 0x00, 0x00);

    // Make the background red
    imagefilledrectangle($im, 0, 0, 299, 99, $red);

    // Path to our ttf font file
    $font_file = './arial.ttf';

    // Draw the text 'PHP Manual' using font size 13
    imagefttext($im, 13, 0, 105, 55, $black, $font_file, 'PHP Manual');

    // Output image to the browser
    header('Content-Type: image/png');

    imagepng($im);
    imagedestroy($im);
    ?>

&reftitle.notes; ¬e.freetype;
&reftitle.seealso;

- `imageftbbox`
- `imagettftext`