Patronen maken met Imagick

Door 15 november 2012Tips & Trucs

Eerst geprobeerd met GD library om patronen te maken. Dit werd uiteindelijk erg onoverzichtelijk. Geprobeerd met Imagick met het gewenste resultaat. Eerst de even een aantal waardes definiëren:

<?php
$output_h = 500; //Resultaat hoogte
$output_w = 500; //Resultaat breedte
$image_size = 100; //Afbeelding grote
$src = 'input.jpg'; //Originele afbeelding
$output = 'output.jpg'; //Resultaat afbeelding
?>

 Basis

<?php
exec('convert '.$src.' -resize '.$image_size.' +append -write mpr:sometile +delete -size '.$output_w.'x'.$output_h.' tile:mpr:sometile '.$outfile);
?>

Halfverband verticaal

<?php
exec('convert '.$src.' -resize '.$image_size.' -format "%[fx:round(h/2)]" info:',$result);
exec('convert '.$src.' -resize '.$image_size.' \( -clone 0 -roll +0+'.$result[0].' \) +append -write mpr:sometile +delete -size '.$output_w.'x'.$output_h.' tile:mpr:sometile '.$outfile);
?>

 Halfverband horizontaal

<?php
exec('convert '.$src.' -resize '.$image_size.' -format "%[fx:round(w/2)]" info:',$result);
exec('convert '.$src.' -resize '.$image_size.' \( -clone 0 -roll -'.$result[0].'-0 \) -append -write mpr:sometile +delete -size '.$output_w.'x'.$output_h.' tile:mpr:sometile '.$outfile);
?>

 Gespiegeld

<?php
exec('convert '.$src.' -resize '.$image_size.' \( -clone 0 -flip \) -append -write mpr:sometile +delete -size '.$output_w.'x'.$output_h.' tile:mpr:sometile '.$outfile);
?>

In het midden

<?php
exec('convert '.$src.' -resize '.$image_size.' -background white -gravity center -extent '.$output_w.'x'.$output_h.' '.$outfile);
?>