Hvordan Divide ett bilde inn Mangfoldig bilder med PHP
Så du vil bryte en større bilde opp i flere mindre bilder? Ikke noe problem. Dette kan virke som en obskur problem, men det er flere årsaker til at du vil ønske å gjøre dette. Kanskje du vil lage en visuell skyve puslespill . Eller kanskje du kjører en unik WordPress tema . Eller kanskje du vil lage en collage av noe slag. Det spiller ingen rolle hvorfor du vil dele et bilde inn i mindre bilde, gjør PHP denne oppgaven lett. Eksemplet nedenfor er kun avtaler med JPEG. Endre funksjonen til å håndtere andre typer bilder ville ikke være så vanskelig.
<? Php
/ / Denne funksjonen vil dele et bilde inn i et antall like store kolonner og rader.
funksjon split_image ($ number_of_rows, $ number_of_cols, $ path_to_image, $ filnavn) (
/ / $ Number_of_rows = antall rader du vil ha;
/ / $ Number_of_cols = # av kolonnar du vil
/ / $ Path_to_image = banen til mappen bildet er i, noe som: / home / content / brukernavn / html / list / opplastninger /
/ / $ Filnavn = Filnavnet på bildet: archery.jpg, etc.
/ / Parse banen for forlengelse
$file_name); $ Info = pathinfo ($ path_to_image. $ Filnavn);
/ / Sikre at vi har å gjøre med en jpeg
($info[ 'extension' ]) == 'jpg' ) || ( strtolower ($info[ 'extension' ]) == 'jpeg' ) ){ if ((strtolower ($ info ['utvidelse']) == 'jpg') | | (strtolower ($ info ['utvidelse']) == "JPEG")) (
/ / Load image og få bildestørrelse
); $ Kilde = imagecreatefromjpeg ("($ path_to_image) ($ filnavn)");
$ Width = imagesx ($ kilde); / / Finn bredden
$ Height = imagesy ($ kilde); / / Finn høyden
$ Segment_width = $ bredde / $ number_of_cols; / / Bestem bredden på de enkelte segmentene
$ Segment_height = $ høyde / $ number_of_rows; / / Bestem høyden på de enkelte segmentenefor ($ col = 0; $ kol <$ number_of_cols; $ col + +)
(for ($ rad = 0; $ rad <$ number_of_rows; $ rad + +)
(, $col, $row ); $ Fn = sprintf ("IMG% 02d_% 02d.jpg", $ col, $ rad);
); //I print the image name here, so that the process shows itself as it runs echo ("$ fn"); / / jeg skrive ut bildet navnet her, slik at prosessen viser seg som det kjører
$ Im = @ imagecreatetruecolor ($ segment_width, $ segment_height);
imagecopyresized ($ im, $ kilde, 0, 0, $ Col * $ segment_width, $ rad * $ segment_height, $ segment_width, $ segment_height, $ segment_width, $ segment_height);
$ File = "test.jpg";
/ / Lagre bilder
, 100 )) //The destination will be something like /home/content/c/h/d/images/$fn if (imagejpeg ($ im, "INSERT DESTINATION her", 100)) / / Målet vil være noe sånt som / home / content / c / h / d / bilder / $ fnecho ("Har blitt gjort! <br/>");
)
)
)
)
?>








































