Cum se împarte o imagine în imagini multiple Folosind PHP
Deci vrei să rupă o imagine mare în mai multe imagini mai mici? Nici o problemă. Acest lucru poate părea o problemă de obscur, dar există mai multe motive aţi dori să faceţi acest lucru. Poate doriţi să creaţi un vizual puzzle de alunecare . Sau poate se execută o WordPress temă unică . Sau poate doriţi să creaţi un colaj de un fel. Este într-adevăr nu contează de ce vrei să împartă o imagine în imagini mai mici, PHP face această sarcină uşoară. Exemplul de mai jos se referă numai la JPEG. Schimbarea funcţia de a face cu alte tipuri de imagini nu ar fi aşa de greu.
<? Php
/ / Aceasta functie va împărţi o imagine într-un număr de dimensiuni la fel de coloane şi rânduri.
split_image funcţie (number_of_rows $, $ number_of_cols, path_to_image $, $ nume_fişier) (
/ / $ = # Number_of_rows de rânduri care doriţi;
/ / $ = # Number_of_cols de coloane pe care doriţi
/ Path_to_image / $ = calea către folderul în imagine este, ceva de genul: / home / content / username / html / lista / uploads /
/ Nume_fişier / $ = fisierului imagine: archery.jpg, etc
/ / Cale analiza pentru extinderea
$file_name); $ Info = pathinfo ($ path_to_image. $ Nume_fişier);
/ / Asiguraţi-vă că avem de-a face cu un jpeg
($info[ 'extension' ]) == 'jpg' ) || ( strtolower ($info[ 'extension' ]) == 'jpeg' ) ){ if ((strtolower ($ info "extindere" []) == "jpg") | | (strtolower ($ info extindere ""] [) == "jpeg")) (
/ / Imagine de încărcare şi de a lua dimensiunea imaginii
); sursa = $ imagecreatefromjpeg ("($ path_to_image) ($ FILE_NAME)");
Width = $ imagesx ($ sursă); / / Find lăţimea
înălţime = $ imagesy ($ sursă); / / Find înălţime
segment_width $ = $ latime / number_of_cols $; / / determina lăţimea de segmente individuale
segment_height $ = $ înălţime / number_of_rows $; / / determină o înălţime de segmente individualepentru ($ col = 0; $ col <number_of_cols; col $ $ + +)
(pentru ($ row = 0; $ row <number_of_rows $; rând $ + +)
(, $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"); / / Am imprima numele imaginii aici, astfel încât procesul în sine arată ca ruleaza
Im = $ @ imagecreatetruecolor ($ segment_width, $ segment_height);
imagecopyresized ($ im, $ sursa, 0, 0, col $ * $ segment_width, rândul $ * $ segment_height, segment_width, segment_height $ $, segment_width, segment_height $ $);
$ File = "test.jpg";
/ / Salvează imagini
, 100 )) //The destination will be something like /home/content/c/h/d/images/$fn în cazul în care (imagejpeg ($ im, "INSERT DESTINAŢIE aici", 100)) / / destinaţie va fi ceva de genul / home / content / c / h / d / imagini / $ fnecho ("a fost făcută! <br/>");
)
)
)
)
?>








































