Comment diviser une image en plusieurs images Utiliser PHP
Donc, vous voulez une pause d'une grande image en plusieurs images plus petites? Pas de problème. Cela peut sembler un problème obscur, mais il ya de multiples raisons que vous voudriez le faire. Peut-être que vous voulez créer un visuel puzzle coulissant . Ou peut-être que vous utilisez un thème WordPress unique . Ou peut-être vous voulez créer un collage d'une certaine sorte. Il n'est pas vraiment important pourquoi vous voulez diviser une image en image plus petite, PHP rend cette tâche facile. L'exemple ci-dessous ne traite que des fichiers JPEG. Modification de la fonction pour faire face à d'autres types d'images ne serait pas si difficile.
<? Php
/ / Cette fonction va diviser une image en un certain nombre d'entreprises également colonnes et de rangées.
split_image fonction ($ nombre_de_lignes, Number_Of_Cols $, $ path_to_image, $ nom_fichier) (
/ / $ Nombre_de_lignes = nombre de lignes que vous voulez;
/ / $ Number_Of_Cols = nombre de cols que vous voulez
/ Path_to_image / $ = le chemin vers le dossier de l'image est en, quelque chose comme: / home / content / nom d'utilisateur / html / liste / uploads /
/ Nom_fichier / $ = Le nom du fichier de l'image: archery.jpg, etc
/ / Chemin d'analyse pour l'extension
$file_name); $ Info = pathinfo ($ path_to_image. $ Nom_fichier);
/ / Assurez-vous que nous avons affaire à un jpeg
($info[ 'extension' ]) == 'jpg' ) || ( strtolower ($info[ 'extension' ]) == 'jpeg' ) ){ if ((strtolower ($ info 'extension [']) == "jpg") | | (strtolower ($ info «extension» []) == 'jpeg')) (
/ Image / charge et obtenir la taille de l'image
); source $ = imagecreatefromjpeg ("($ path_to_image) ($ nom_fichier)");
$ Width = imagesx ($ source); / / Trouver la largeur
hauteur de $ = imagesy ($ source); / / Trouver la hauteur
segment_width $ = $ largeur / Number_Of_Cols $; / / Déterminer la largeur des différents segments
segment_height $ = $ height / nombre_de_lignes $; / / Déterminer la hauteur des différents segmentsfor ($ col = 0; $ col <Number_Of_Cols; $ $ col + +)
(for ($ row = 0; $ row <nombre_de_lignes $; $ row + +)
(, $col, $row ); $ Fn = sprintf ("img 02d_%% 02d.jpg", col, $ $ row);
); //I print the image name here, so that the process shows itself as it runs echo ("$ fn"); / / je imprimer le nom de l'image ici, afin que le processus se montre tel qu'il fonctionne
$ im = @ imagecreatetruecolor ($ segment_width, segment_height $);
imagecopyresized ($ im, $ source, 0, 0, $ col * $ segment_width, $ row * $ segment_height, segment_width, $ $ segment_height, segment_width, $ segment_height $);
$ File = "test.jpg";
/ / Enregistrer les images
, 100 )) //The destination will be something like /home/content/c/h/d/images/$fn if (imagejpeg ($ im, "INSERT DESTINATION ICI", 100)) / / La destination sera quelque chose comme / home / content / c / h / j / images / $ fnecho ("a été fait! <br/>");
)
)
)
)
?>








































