pete_uja / nano-stamp
Nano Stamp 是一个使用 GD 图形库创建自定义印章的 PHP 类。它简化了生成印章的过程,例如圆形和方形设计,并伴随动态文本和样式。
1.0.2
2023-08-27 18:00 UTC
Requires
- php: ^7.0 || ^8.0
- ext-gd: *
- ext-mbstring: *
README
Nano Stamp 是一个使用 GD 图形库创建自定义印章的 PHP 类。它简化了生成印章的过程,例如圆形和方形设计,并伴随动态文本和样式。
安装
安装可通过 Composer 完成
composer require peterujah/nano-stamp
示例印章
初始化类
use Peterujah\NanoBlockTech\Stamp\Circle; use Peterujah\NanoBlockTech\Stamp\Square; use Peterujah\NanoBlockTech\Stamp\Colors; use Peterujah\NanoBlockTech\Stamp\Stamp;
要绘制方形印章,使用方形实例进行初始化
$shape = new Stamp(new Square(400, 200));
要绘制圆形印章,使用圆形实例进行初始化
$shape = new Stamp(new Circle(400, 400));
使用您的印章形状容器实例
$stamp = $shape->getContainerInstance();
设置您的文本字体路径
$stamp->setFont(__DIR__ . '/font/industry-bold.ttf');
设置您的背景颜色或使用默认的透明背景
$stamp->setBackgroundColor(Colors::ALPHA_WHITE);
使用 RGB 颜色数组绘制您的边框
$stamp->drawBorder(Colors::VIOLET);
对于方形形状印章
调整 right
和 top
以适应您的文本
$stamp->drawCenterText("My Company Name Here",[ "fontSize" => 20, "color" => Colors::VIOLET, "right" => 125, "top" => -30, ]); $stamp->drawCenterText("27 Aug 2023", [ "fontSize" => 20, "color" => Colors::VIOLET, "right" => 80, "top" => 30, ]); $stamp->drawCenterText("Verified Stamp", [ "fontSize" => 20, "color" => Colors::VIOLET, "right" => 80, "top" => 90, ]); $stamp->drawRightText("Vertical", [ "fontSize" => 20, "color" => Colors::VIOLET, "top" => 110, "right" => 55, ]); $stamp->drawLeftText("27 Aug 2023", [ "fontSize" => 20, "color" => Colors::VIOLET, "top" => 170, "left" => 230, ]);
对于圆形形状印章
调整 left
和 top
以适应您的文本
绘制圆形文本
$stamp->drawRoundText("Round Text Here", 20, Colors::VIOLET, true);
绘制中心文本
$stamp->drawCenterText("Horizontal Text Here", [ "fontSize" => 20, "color" => Colors::VIOLET, "top" => 200, "left" => 60, ]); $stamp->drawCenterText("27 Aug 2023", [ "fontSize" => 20, "color" => Colors::VIOLET, "top" => 250, "left" => 60, ]);
仅适用于圆形形状印章的垂直中心文本
$stamp->drawVerticalText("Vertical Text Here", [ "fontSize" => 20, "color" => Colors::VIOLET, "top" => 220, "left" => 10, ]); $stamp->drawVerticalText("27 Aug 2023", [ "fontSize" => 20, "color" => Colors::VIOLET, "top" => 170, "left" => 15, ]);
现在保存、下载或预览生成的印章 Flag D = Download, S = Save, I = Display
$stamp->create('stamp_image.png', "S");
更多方法
添加图像叠加
$stamp->drawCenterImage(__DIR__ . "/company-logo.png", [ "top" => 0, "left" => 0, "width" => 50, "height" => 50 ]);