Image originale: Voici ce que je dois: Il devrait être créé à partir de ce petit carreau: Comment faire un cadre d'image en mosaïque sans utiliser la fonction exec?
Beaucoup de gens suggèrent d'utiliser la solution ImageMagick (en utilisant la fonction php exec) - http://www.imagemagick.org/discourse-server/viewtopic.php?f=1&t=21867:
convert frame_template.gif \
-tile blackthin_top.gif -draw 'color 1,0 floodfill' -rotate 90 \
-tile blackthin_btm.gif -draw 'color 1,0 floodfill' -rotate 90 \
-tile blackthin_top.gif -draw 'color 1,0 floodfill' -rotate 90 \
-tile blackthin_btm.gif -draw 'color 1,0 floodfill' -rotate 90 \
-gravity center thumbnail.gif -composite frame_filled.gif
ou
solution PicFrame (à l'aide de la fonction php exec) - http://www.fmwconcepts.com/imagemagick/picframe/index.php:
picframe [-f frameid] [-m mattesize] [-c mattecolor] [-b bordersize] [-s shade] [-a adjust] [-o opacity ] [-d distance] infile outfile
PHP imagick a une grande capacité à créer des bordures de couleur avec:
$imagick = new \Imagick('image.jpg');
$imagick->scaleImage(300, 300, false);
// Create frame placeholder
$imagick->frameimage('red','30','30', 30, 0);
// Flood fill with color
$imagick->floodFillPaintImage('green', 10, '#6e0000',0, 0,false
);
header("Content-Type: image/jpg");
echo $imagick->getImageBlob();
Mais PHP imagick ne peut pas utiliser votre propre mosaïque d'images pour créer cadre, que des couleurs unies. Voici une question très similaire - How to flood fill the frame with a pattern image using imagick php class?
Une autre bonne solution de - https://stackoverflow.com/a/28778953/2337706 mais il crée une image à partir de grandes images PNG et vous devez connaître la taille d'image correcte.
Je sais que je peux le créer avec php GD - http://php.net/manual/en/ref.image.php mais je ne sais pas comment l'implémenter de cette façon.
Quel est le problème avec l'aide de PHP exec()? Il est très facile d'utiliser une solution préexistante et de ne pas avoir à tout inventer à nouveau – fmw42
@ fmw42 oui vous avez raison, c'est facile à utiliser et pratique, mais beaucoup de clients utilisent un hébergement partagé qui ne fournit pas d'accès php exec() ou je ne suis pas vrai? – kostya572
Je ne fais pas grand-chose avec Imagick et je n'ai pas essayé cela, mais http://us3.php.net/manual/fr/imagick.textureimage.php est la fonction qui va paver une image. Vous devriez être capable d'utiliser cela pour atteindre les résultats souhaités. – fmw42