objement/imagick-canvas

一个库,用于轻松生成包含图片、文本和形状的 Imagick 图形。

v0.1.2 2022-11-01 23:27 UTC

This package is auto-updated.

Last update: 2024-09-24 18:14:48 UTC


README

PHP 库,通过编写面向对象的 PHP 代码轻松生成包含图片、文本和形状的 Imagick 图形。

安装

此库在 Packagist 上可用,因此可以使用 Composer 进行安装。

composer require objement/imagick-canvas

示例

创建居中的水印图像

$image = new OmElementImage($filepath);
$canvas = new OmCanvas(
	OmCanvas::RESOLUTION_DEFAULT_SCREEN, // for web (resolution is important when working with texts)
	OmCanvas::COLORSPACE_RGB, // for web RGB, use CMYK for print
	$image->getWidth(), $image->getHeight()
);
$canvas->addElement($image, OmElementPosition::create(OmUnit::UNIT_PIXELS, 0, 0));
$watermark = new OmElementImage(realpath('watermark.png'), $image->getWidth()->divide(5));
$canvas->addElement($watermark, OmElementPosition::create(OmUnit::UNIT_PIXELS,
	$image->getWidth()->divide(2)->subtract($watermark->getWidth()->divide(2)->getValue())->getValue(), // center it: (image width / 2) - (watermark width / 2)
	$image->getHeight()->divide(2)->subtract($watermark->getHeight()->divide(2)->getValue())->getValue()
));

$canvas->getImage('png')->writeImage($filepath);