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
Warning

本函数还未编写文档,仅有参数列表。

Sets the font pointsize to use when annotating with text.

参数

pointsize

the point size

返回值

没有返回值。

范例

Example #1 ImagickDraw::setFontSize()

<?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 = [2436486072];

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

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

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

?>

User Contributed Notes

hmkrox at gmail dot com 03-Aug-2009 07:10
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.
jgsujith at in dot com 15-Jul-2009 06:23
<?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
?>