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

    (PECL imagick 2.0.0)

    Sets the text placement gravity

    说明

    ImagickDraw::setGravity(int $gravity): bool
    Warning

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

    Sets the text placement gravity to use when annotating with text.

    参数

    $gravity

    GRAVITY_ constant

    返回值

    没有返回值。

    范例

    Example #1 ImagickDraw::setGravity()

    <?php
    function setGravity($fillColor, $strokeColor, $backgroundColor) {
        $draw = new \ImagickDraw();
        $draw->setStrokeColor($strokeColor);
        $draw->setFillColor($fillColor);
        $draw->setStrokeWidth(1);
        $draw->setFontSize(24);
        $gravitySettings = array(
            \Imagick::GRAVITY_NORTHWEST => 'NorthWest',
            \Imagick::GRAVITY_NORTH => 'North',
            \Imagick::GRAVITY_NORTHEAST => 'NorthEast',
            \Imagick::GRAVITY_WEST => 'West',
            \Imagick::GRAVITY_CENTER => 'Centre',
            \Imagick::GRAVITY_SOUTHWEST => 'SouthWest',
            \Imagick::GRAVITY_SOUTH => 'South',
            \Imagick::GRAVITY_SOUTHEAST => 'SouthEast',
            \Imagick::GRAVITY_EAST => 'East'
        );
        $draw->setFont("../fonts/Arial.ttf");
        foreach ($gravitySettings as $type => $description) {
            $draw->setGravity($type);
            $draw->annotation(50, 50, '"' . $description . '"');
        }
        $imagick = new \Imagick();
        $imagick->newImage(500, 500, $backgroundColor);
        $imagick->setImageFormat("png");
        $imagick->drawImage($draw);
        header("Content-Type: image/png");
        echo $imagick->getImageBlob();
    }
    ?>
    
    Gravity constants are very useful as they can save having to calculate the placement of variable text strings and font sizes.
    For example: 
    $draw->setGravity (Imagick::GRAVITY_CENTER);
    $image->annotateImage($draw, 0, 0, 0, 'The quick brown fox jumps over the lazy dog');
    Will horizontally and vertically center the text string.
    Note, there are several gravity constants available. See, Constants — Imagick class constants
    It appears that the GRAVITY constants have an integer equivalent:
    NORTHWEST = 1
    NORTH = 2
    NORTHEAST = 3
    WEST = 4 
    CENTER = 5
    EAST = 6
    SOUTHWEST = 7
    SOUTH = 8
    SOUTHEAST = 9