Drawing a text with wrap
Output
Section titled “Output”
<?php
require 'vendor/autoload.php';
use Kehet\ImagickLayoutEngine\Containers\ColumnContainer;use Kehet\ImagickLayoutEngine\Items\TextWrap;
$width = 1500;$height = 1000;
// Create new image with white background
$imagick = new Imagick;$imagick->newImage($width, $height, new ImagickPixel('white'));
// Define root container
$root = new ColumnContainer;$root->addItem( new TextWrap( draw(fill: 'black'), 'Lorem Ipsum Dolor', initialFontSize: 120, minFontSize: 50 ));$root->addItem( new TextWrap( draw(fill: 'black'), 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec elementum vulputate eros at rutrum.' ));$root->addItem( new TextWrap( draw(fill: 'black'), 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce iaculis aliquam pulvinar. Donec dictum mollis volutpat. Nulla facilisi. Nulla egestas hendrerit lobortis. Proin tincidunt interdum eros a pharetra. Nam tincidunt, justo eget pulvinar consequat, velit tortor iaculis urna, in vulputate libero ipsum at ante. ' ));
// Draw container onto image
$root->draw($imagick, 0, 0, $width, $height);
// Output image as png to file
$imagick->setImageFormat('png');$imagick->writeImage(__DIR__.'/04-text-wrap.png');Template
Section titled “Template”The same layout as a template:
{ "type": "column", "children": [ {"type":"text-wrap","text":"Lorem Ipsum Dolor","fill":"black","fontSize":120,"minFontSize":50}, {"type":"text-wrap","text":"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec elementum vulputate eros at rutrum.","fill":"black"}, {"type":"text-wrap","text":"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce iaculis aliquam pulvinar. Donec dictum mollis volutpat. Nulla facilisi. Nulla egestas hendrerit lobortis. Proin tincidunt interdum eros a pharetra. Nam tincidunt, justo eget pulvinar consequat, velit tortor iaculis urna, in vulputate libero ipsum at ante. ","fill":"black"} ]}