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.
ImagickDraw::setFontSize
(PECL imagick 2.0.0)
ImagickDraw::setFontSize — Establece el tamaño de punto de la fuente para usarlo cuando se escribe texto
Descripción
bool ImagickDraw::setFontSize
( float
$pointsize
)Advertencia
Esta función no está documentada actualmente, solamente se encuentra disponible la lista de parámetros.
Establece el tamaño de punto de la fuente para usarlo cuando se escribe texto.
Parámetros
-
pointsize -
el tamaño del punto
Valores devueltos
No devuelve ningún valor.
hmkrox at gmail dot com ¶
3 years ago
jgsujith at in dot com ¶
3 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
?>
