PHP | Función imagettfbbox()

La función imagettfbbox() es una función incorporada en PHP que se usa para calcular el cuadro delimitador en píxeles para un texto TrueType.
Sintaxis: 
 

array imagettfbbox( float $size, float $angle, 
                 string $fontfile, string $text)

Parámetros: esta función acepta cuatro parámetros, como se mencionó anteriormente y se describe a continuación: 
 

  • $tamaño: Especifica el tamaño de la fuente en puntos.
  • $ángulo: Especifica el ángulo en grados en que se medirá el texto.
  • $fontfile: Especifica el nombre del archivo de la fuente.
  • $texto: Especifica la string a medir.

Valor de retorno: esta función devuelve una array en caso de éxito.
Los siguientes ejemplos ilustran la función imagettfbbox() en PHP:
Ejemplo 1: 
 

php

<?php
 
// Create bounding box with local font file
$bbox = imagettfbbox(100, 100,
       './Pacifico.ttf', 'GeeksforGeeks');
 
// Print the boundbox data
print("<pre>".print_r($bbox, true)."</pre>");
?>

Producción: 
 

Array
(
    [0] => 47
    [1] => -13
    [2] => -91
    [3] => -806
    [4] => -264
    [5] => -776
    [6] => -124
    [7] => 17
)

Ejemplo 2: 
 

php

<?php
 
// Create a image
$im = imagecreatetruecolor(800, 250);
 
// Set the background to be light blue
imagefilledrectangle($im, 0, 0, 800, 299,
            imagecolorallocate($im, 255, 0, 100));
 
// Create bounding box with local font file
$bbox = imagettfbbox(10, 0,
            './Pacifico.ttf', 'GeeksforGeeks');
 
// Calculate coordinates using bounding box
$x = $bbox[0] + 130;
$y = $bbox[1] + 130;
 
// Add text
imagettftext($im, 50, 0, $x, $y,
        imagecolorallocate($im, 0, 150, 0),
        './Pacifico.ttf', 'GeeksforGeeks');
 
// Output to browser
header('Content-Type: image/png');
imagepng($im);
imagedestroy($im);
?>

Producción: 
 

Referencia: https://www.php.net/manual/en/function.imagettfbbox.php
 

Publicación traducida automáticamente

Artículo escrito por gurrrung y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *