• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • ImagickDraw::setFontSize()

    (PECL imagick 2.0.0)

    Sets the font pointsize to use when annotating with text

    说明

    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 = [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();
    }
    ?>
    
    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.
    <?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
    ?>