pete_uja/nano-stamp

Nano Stamp 是一个使用 GD 图形库创建自定义印章的 PHP 类。它简化了生成印章的过程,例如圆形和方形设计,并伴随动态文本和样式。

1.0.2 2023-08-27 18:00 UTC

This package is auto-updated.

Last update: 2024-09-28 09:35:16 UTC


README

Nano Stamp 是一个使用 GD 图形库创建自定义印章的 PHP 类。它简化了生成印章的过程,例如圆形和方形设计,并伴随动态文本和样式。

安装

安装可通过 Composer 完成

composer require peterujah/nano-stamp

示例印章

image 1image 2image 3

初始化类

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);

对于方形形状印章

调整 righttop 以适应您的文本

$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,
]);

对于圆形形状印章

调整 lefttop 以适应您的文本

绘制圆形文本

$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
]);