PHP Conference Nagoya 2025

ImagickDraw::setFontSize

(PECL imagick 2, PECL imagick 3)

ImagickDraw::setFontSizeSets the font pointsize to use when annotating with text

Опис

public ImagickDraw::setFontSize(float $pointsize): bool
Увага

Наразі ця функція не документована. Доступний лише список її параметрів.

Sets the font pointsize to use when annotating with text.

Параметри

pointsize

the point size

Значення, що повертаються

Не повертає значень.

Приклади

Приклад #1 ImagickDraw::setFontSize() example

<?php
function setFontSize($fillColor, $strokeColor, $backgroundColor) {

$draw = new \ImagickDraw();

$draw->setStrokeOpacity(1);
$draw->setStrokeColor($strokeColor);
$draw->setFillColor($fillColor);
$draw->setStrokeWidth(2);
$draw->setFont("../fonts/Arial.ttf");

$sizes = [24, 36, 48, 60, 72];

foreach (
$sizes as $size) {
$draw->setFontSize($size);
$draw->annotation(50, ($size * $size / 16), "Lorem Ipsum!");
}

$imagick = new \Imagick();
$imagick->newImage(500, 500, $backgroundColor);
$imagick->setImageFormat("png");
$imagick->drawImage($draw);

header("Content-Type: image/png");
echo
$imagick->getImageBlob();
}

?>

add a note

User Contributed Notes 2 notes

up
6
hmkrox at gmail dot com
15 years ago
The font size taken in parameter is not the size in point (1 point = 1/72 inch) but the font's height in pixel.
Therefore you should do a conversion to have the correct font size if you want to modify a document destined to print.
For example, if your document's resolution is 300ppi, you should add a 25/6 multiplying factor to your fontsize in order to have a correct behaviour of the font.
up
-4
jgsujith at in dot com
15 years ago
<?php
$sourceFile
='in.jpg';
$textWrite='God is Great';
$x=50;
$y=50;
$fontColor='#000000';
$fontSize=34;

$colorPix=new ImagickPixel ($fontColor);
$image=new Imagick ($sourceFile);
$draw=new ImagickDraw();

$draw->setFontSize($fontSize);//Sets the font pointsize to use when annotating with text

$draw->setFillColor($colorPix);//Sets the fill color to be used for drawing filled objects

$image->annotateImage($draw,$x,$y,0,$textWrite);//Annotates an image with text

$image->writeImage('out.jpg');//Writes an image to the specified filename
?>
To Top