imagettfbbox
float$size,
float$angle,
string$font_filename,
string$string,
[array$options = []]
): array|false
This function calculates and returns the bounding box in pixels for a TrueType text.
Note:
Prior to PHP 8.0.0, imageftbbox was an extended variant of imagettfbbox which additionally supported the extrainfo. As of PHP 8.0.0, imagettfbbox is an alias of imageftbbox.
Parameters
- size
-
The font size in points.
- angle
-
Angle in degrees in which string will be measured.
- fontfile
-
The path to the TrueType font you wish to use.
Depending on which version of the GD library PHP is using, when fontfile 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.
When using versions of the GD library lower than 2.0.18, a space character, rather than a semicolon, was used as the 'path separator' for different font files. Unintentional use of this feature will result in the warning message: Warning: Could not find/open font. For these affected versions, the only solution is moving the font to a path which does not contain spaces.
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';
?>Note:
Note that open_basedir does not apply to fontfile.
- string
-
The string to be measured.
Return Values
imagettfbbox returns an array with 8 elements representing four points making the bounding box of the text on success and false on error.
key | contents |
0 | lower left corner, X position |
1 | lower left corner, Y position |
2 | lower right corner, X position |
3 | lower right corner, Y position |
4 | upper right corner, X position |
5 | upper right corner, Y position |
6 | upper left corner, X position |
7 | upper left corner, Y position |
The points are relative to the text regardless of the angle, so "upper left" means in the top left-hand corner seeing the text horizontally.
Notes
Note:
This function is only available if PHP is compiled with freetype support (--with-freetype-dir=DIR)
Changelog
Version | Description |
8.0.0 | The options has been added. |