Deprecated: Optional parameter $keys declared before required parameter $cms_id is implicitly treated as a required parameter in /home/www/dev/work/class/blog/CmsKey.php on line 75

Deprecated: Creation of dynamic property lvesu\lvesu\controller\blog\php::$title is deprecated in /home/www/dev/work/website/lvesu/class/controller/blog/php.php on line 28

Deprecated: Creation of dynamic property lvesu\lvesu\controller\blog\php::$outlink is deprecated in /home/www/dev/work/website/lvesu/template/blog/cms/php.manual.tpl on line 2

Deprecated: Creation of dynamic property lvesu\lvesu\controller\blog\php::$status is deprecated in /home/www/dev/work/website/lvesu/template/blog/index.head.php on line 2
PHP - Manual: ImagickDraw::setGravity - 互联网笔记

略微加速

PHP官方手册 - 互联网笔记

PHP - Manual: ImagickDraw::setGravity

2025-04-26

ImagickDraw::setGravity

(PECL imagick 2, PECL imagick 3)

ImagickDraw::setGravitySets the text placement gravity

说明

public ImagickDraw::setGravity(int $gravity): bool
警告

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

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

参数

gravity

One of the GRAVITY constant (imagick::GRAVITY_*).

返回值

没有返回值。

示例

示例 #1 ImagickDraw::setGravity() example

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

?>
添加备注

用户贡献的备注 2 notes

up
5
alan at ridersite dot org
17 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
-2
bcre8ve at gmail dot com
11 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

官方地址:https://www.php.net/manual/en/imagickdraw.setgravity.php

北京半月雨文化科技有限公司.版权所有 京ICP备12026184号-3