protected function TextToWrapper::getTextHeightInfo in Image Effects 8
Same name and namespace in other branches
- 8.3 src/Plugin/ImageToolkit/Operation/gd/TextToWrapper.php \Drupal\image_effects\Plugin\ImageToolkit\Operation\gd\TextToWrapper::getTextHeightInfo()
- 8.2 src/Plugin/ImageToolkit/Operation/gd/TextToWrapper.php \Drupal\image_effects\Plugin\ImageToolkit\Operation\gd\TextToWrapper::getTextHeightInfo()
Return the height and basepoint of a text using TrueType fonts.
Need to calculate the height independently from primitive as lack of descending/ascending characters will limit the height. So to have uniformity we take a dummy string with ascending and descending characters to set to max height possible.
Parameters
string $font_size: The font size.
string $font_uri: The font URI.
Return value
array An associative array with the following keys:
- 'height' the text height in pixels.
- 'basepoint' an array of x, y coordinates of the font's basepoint.
1 call to TextToWrapper::getTextHeightInfo()
- TextToWrapper::execute in src/Plugin/ ImageToolkit/ Operation/ gd/ TextToWrapper.php 
- Performs the actual manipulation on the image.
File
- src/Plugin/ ImageToolkit/ Operation/ gd/ TextToWrapper.php, line 478 
Class
- TextToWrapper
- Defines GD Text Overlay text-to-wrapper operation.
Namespace
Drupal\image_effects\Plugin\ImageToolkit\Operation\gdCode
protected function getTextHeightInfo($font_size, $font_uri) {
  // Get fully qualified font file information.
  if (!($font_file = $this
    ->getFontPath($font_uri))) {
    return NULL;
  }
  // Get the bounding box for $text to get height.
  $points = $this
    ->imagettfbboxWrapper($font_size, 0, $font_file, 'bdfhkltgjpqyBDFHKLTGJPQY§@çÅÀÈÉÌÒÇ');
  $height = abs($points[5] - $points[1]) + 1;
  return [
    'height' => $height,
    'basepoint' => [
      $points[6],
      -$points[7],
    ],
  ];
}