ScotlandPHP

ImagickDraw::setGravity

(PECL imagick 2.0.0)

ImagickDraw::setGravitySets the text placement gravity

Beschreibung

bool ImagickDraw::setGravity ( int $gravity )
Warnung

Diese Funktion ist bis jetzt nicht dokumentiert. Es steht nur die Liste der Argumente zur Verfügung.

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

Parameter-Liste

gravity

GRAVITY_ constant

Rückgabewerte

Es wird kein Wert zurückgegeben.

Beispiele

Beispiel #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(5050'"' $description '"');
    }

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

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

?>

add a note add a note

User Contributed Notes 2 notes

up
2
alan at ridersite dot org
10 years ago
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
up
0
bcre8ve at gmail dot com
4 years ago
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
To Top