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