christianberkman/imagick-text-box

使用PHP的Imagick库向图像添加简单的文本框

v1.2 2024-06-14 13:44 UTC

This package is auto-updated.

Last update: 2024-09-14 14:24:34 UTC


README

使用PHP的Imagick库向图像添加简单的文本框

Example

安装

Composer

composer install christianberkman/imagick-text-box

用法

use \Imagick;
use ImagickTextBox\ImagickTextBox;

$image = new Imagick()->readImage('your-image.php');
$textBox = new ImagickTextBox($image);
$textBox->string = 'Hello World';
$textBox->draw(Imagick::GRAVITY_NORTHWEST);

请参阅example.php,其中包含更详细的用法示例。

公共方法

  • void __construct(Imagick $image) 构造类并初始化ImagickDraw对象
  • void draw(int $gravity = Imagick::GRAVITY_SOUTHEST)Imagick $image对象上绘制文本框
  • bool textFits() 返回文本是否适合给定的图像

公共属性

Imagick对象

所有这些对象都可以完全访问并可以操作以设置所需的填充颜色、字体大小等。

  • Imagick $image 您的图像对象
  • ImagickDraw $text 文本对象,由ImagickTextBox初始化
  • ImagickDraw $box 箱对象,由ImagickTextBox初始化

配置

  • string $string = 'Hello World' 要打印的文本字符串
  • int $margin_x = 10 侧边距(px)(不适用于北、南、中心)
  • int $margin_y = 10 顶部/底部边距(px)(不适用于西、东、中心)
  • int $padding = 5 文本框内文本的填充(px)
  • int $gravity = Imagick::GRAVITY_SOUTHWEST Imagick重力常量
  • float $heightFactor = 0.6 要使用的高度因子。使用默认字体,因子为1会产生大量垂直空白文本框,0.6似乎效果最好。