Come dividere una immagine in più immagini usando PHP
Così si vuole spezzare una grande immagine in più piccole immagini? Nessun problema. Questo può sembrare un oscuro problema, ma vi sono molteplici ragioni che ci si vuole fare questo. Forse si desidera creare una visuale a scorrimento puzzle. O forse si esegue un unico tema di WordPress. O forse si desidera creare un collage di qualche tipo. E 'davvero non importa il motivo per cui si desidera dividere l'immagine in immagine più piccoli, il PHP rende questo compito facile. L'esempio che segue riguarda solo i file JPEG. Modificare la funzione di trattare con altri tipi di immagini non sarebbe che dura.
<? php
/ / Questa funzione split un'immagine in un certo numero di piccole e medie ugualmente colonne e righe.
funzione split_image ($ number_of_rows, number_of_cols $, $ path_to_image, $ nome_file) (
/ / $ = # number_of_rows di righe che si desidera;
/ / $ = # number_of_cols di protocolli che si desidera
/ / $ = path_to_image il percorso della cartella è l'immagine in qualcosa di simile: / home / content / nomeutente / html / list / upload /
/ / $ nome_file = Il nome del file immagine: archery.jpg, ecc
/ / Percorso per analizzare l'estensione
$file_name); $ info = pathinfo ($ path_to_image. $ nome_file);
/ / assicurati che ci troviamo di fronte ad uno jpeg
($info[ 'extension' ]) == ‘jpg’ ) || ( strtolower ($info[ 'extension' ]) == ‘jpeg’ ) ){ if ((strtolower ($ info [ 'estensione']) == 'jpg') | | (strtolower ($ info [ 'estensione']) == 'jpeg')) (
/ / Caricare l'immagine e ottenere le dimensioni delle immagini
); $ source = imagecreatefromjpeg ( "($ path_to_image) ($ nome_file)");
$ width = imagesx ($ source); / / Trova la larghezza
$ height = imagesy ($ source); / / Trova l'altezza
segment_width $ = $ larghezza / $ number_of_cols; / / Determinare la larghezza dei singoli segmenti
$ segment_height altezza = $ / $ number_of_rows; / / Determinare l'altezza dei singoli segmentifor ($ col = 0; $ col <$ number_of_cols; $ col + +)
(for ($ riga = 0; $ riga <$ number_of_rows; $ riga + +)
(, $col, $row ); $ fn = sprintf ( "img% 02d_% 02d.jpg", $ Col, $ riga);
); //I print the image name here, so that the process shows itself as it runs echo ( "$ fn"); / / stampare l'immagine qui il nome, in modo che il processo si mostra come si svolge
$ im = @ imagecreatetruecolor ($ segment_width, $ segment_height);
imagecopyresized ($ im, $ source, 0, 0, $ * $ col segment_width, $ riga * $ segment_height, segment_width $, $ segment_height, segment_width $, $ segment_height);
$ file = "test.jpg";
/ / Salva le immagini
, 100 )) //The destination will be something like /home/content/c/h/d/images/$fn if (imagejpeg ($ im, "si inserisce DESTINAZIONE QUI", 100)) / / La destinazione sarà qualcosa del tipo / home / content / c / h / d / immagini / $ fnecho ( "è stato fatto! <br/>");
)
)
)
)
?>






















