Skip to content

配合基础方法

生成一个文字颜色不同、字体大小不同、在文字中间混合图片的海报

php
use Kkokk\Poster\Image\Imagick\Image as ImagickImage;
use Kkokk\Poster\Image\Imagick\Text as ImagickText;
use Kkokk\Poster\Image\Imagick\ImageText as ImagickImageText;
use Kkokk\Poster\Facades\Poster; // 使用 Facades\Poster 调用

$file = '图片地址';
$imageText = (new ImagickImageText())
    ->setMaxWidth(300)
    ->setFontAlign('left')
    ->addText((new ImagickText())
        ->setText("白日依山尽,")
        ->setFontSize(16)
        ->setFontColor('#000000')
    )
    ->addText((new ImagickText())
        ->setText("黄河入海流。")
        ->setFontSize(22)
        ->setFontColor('#00ff00')
    )
    ->addText((new ImagickText())
        ->setText("欲穷千里目,")
        ->setFontSize(12)
        ->setFontColor('#0000ff')
    )
    ->addText((new ImagickText())
        ->setText("更上一层楼。")
        ->setFontSize(28)
        ->setFontColor('#ff0000')
        ->setLineHeight(40)
    )
    ->addImage((new ImagickImage($file))->scale(50, 30));

$canvas = Poster::extension('imagick')
    ->config(['type' => 'png'])
    ->buildIm(400, 500, [138, 188, 209])
    ->buildText($imageText, 'center', 236)
    ->getCanvas()
    ->borderRadius(50)
    ->getStream();

示例

poster.png

微不足道,绵薄之力