配合基础方法
生成一个文字颜色不同、字体大小不同、在文字中间混合图片的海报
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();
示例
