©
本文档使用 PHP中文网手册 发布
(PECL imagick 2.0.0)
ImagickDraw::setGravity — Sets the text placement gravity
$gravity
)本函数还未编写文档,仅有参数列表。
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 ();
}
?>
[#1] bcre8ve at gmail dot com [2013-09-13 14:15:46]
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
[#2] alan at ridersite dot org [2007-08-28 07:51:21]
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