文字

ImagickDraw::setFontSize

(PECL imagick 2.0.0)

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

说明

bool ImagickDraw::setFontSize ( float $pointsize )
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  = [ 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 ();
}

?>

用户评论:

[#1] hmkrox at gmail dot com [2009-08-03 07:10:26]

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.

[#2] jgsujith at in dot com [2009-07-15 06:23:02]

<?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
?>

上一篇: 下一篇: