function pImage::getTextBox
Search API
5.x pImage.class.php | pImage::getTextBox($X, $Y, $FontName, $FontSize, $Angle, $Text) |
File
- inc/
pchart/ pchart/ class/ pImage.class.php, line 209
Class
Code
function getTextBox($X, $Y, $FontName, $FontSize, $Angle, $Text)
{
$coords = imagettfbbox($FontSize, 0, $FontName, $Text);
$a = deg2rad($Angle);
$ca = cos($a);
$sa = sin($a);
$RealPos = array();
for ($i = 0; $i < 7; $i += 2)
{
$RealPos [$i / 2]["X"] = $X + round($coords [$i] * $ca + $coords [$i + 1] * $sa);
$RealPos [$i / 2]["Y"] = $Y + round($coords [$i + 1] * $ca - $coords [$i] * $sa);
}
$RealPos [TEXT_ALIGN_BOTTOMLEFT]["X"] = $RealPos [0]["X"];
$RealPos [TEXT_ALIGN_BOTTOMLEFT]["Y"] = $RealPos [0]["Y"];
$RealPos [TEXT_ALIGN_BOTTOMRIGHT]["X"] = $RealPos [1]["X"];
$RealPos [TEXT_ALIGN_BOTTOMRIGHT]["Y"] = $RealPos [1]["Y"];
$RealPos [TEXT_ALIGN_TOPLEFT]["X"] = $RealPos [3]["X"];
$RealPos [TEXT_ALIGN_TOPLEFT]["Y"] = $RealPos [3]["Y"];
$RealPos [TEXT_ALIGN_TOPRIGHT]["X"] = $RealPos [2]["X"];
$RealPos [TEXT_ALIGN_TOPRIGHT]["Y"] = $RealPos [2]["Y"];
$RealPos [TEXT_ALIGN_BOTTOMMIDDLE]["X"] = ($RealPos [1]["X"] -$RealPos [0]["X"]) / 2 + $RealPos [0]["X"];
$RealPos [TEXT_ALIGN_BOTTOMMIDDLE]["Y"] = ($RealPos [0]["Y"] -$RealPos [1]["Y"]) / 2 + $RealPos [1]["Y"];
$RealPos [TEXT_ALIGN_TOPMIDDLE]["X"] = ($RealPos [2]["X"] -$RealPos [3]["X"]) / 2 + $RealPos [3]["X"];
$RealPos [TEXT_ALIGN_TOPMIDDLE]["Y"] = ($RealPos [3]["Y"] -$RealPos [2]["Y"]) / 2 + $RealPos [2]["Y"];
$RealPos [TEXT_ALIGN_MIDDLELEFT]["X"] = ($RealPos [0]["X"] -$RealPos [3]["X"]) / 2 + $RealPos [3]["X"];
$RealPos [TEXT_ALIGN_MIDDLELEFT]["Y"] = ($RealPos [0]["Y"] -$RealPos [3]["Y"]) / 2 + $RealPos [3]["Y"];
$RealPos [TEXT_ALIGN_MIDDLERIGHT]["X"] = ($RealPos [1]["X"] -$RealPos [2]["X"]) / 2 + $RealPos [2]["X"];
$RealPos [TEXT_ALIGN_MIDDLERIGHT]["Y"] = ($RealPos [1]["Y"] -$RealPos [2]["Y"]) / 2 + $RealPos [2]["Y"];
$RealPos [TEXT_ALIGN_MIDDLEMIDDLE]["X"] = ($RealPos [1]["X"] -$RealPos [3]["X"]) / 2 + $RealPos [3]["X"];
$RealPos [TEXT_ALIGN_MIDDLEMIDDLE]["Y"] = ($RealPos [0]["Y"] -$RealPos [2]["Y"]) / 2 + $RealPos [2]["Y"];
return ($RealPos);
}