Kaip padalinti Vienas paveikslėlį į keletą nuotraukų Naudojant PHP

Posted in funkcijas , PHP , padarytais ShortLikeAFox dėl rugpjūtis 26, 2008

Taigi jūs norite nutraukti vieną didelį vaizdą į kelis mažesnius vaizdų? Jokių problemų. Tai gali atrodyti kaip neaiški problema, bet yra keletas priežasčių, kodėl jūs norėjo tai padaryti. Gal norite sukurti vizualaus stumdomas dėlionė . O gal dirbate unikali WordPress tema . O gal norite sukurti tam tikros formos koliažas. Tai tikrai neturi reikšmės, kodėl norite padalinti vaizdas į mažesnius vaizdas, PHP daro šią užduotį lengva. Toliau yra susijęs tik su jpeg pavyzdyje. Pakeitus funkcijos spręsti su kitų rūšių vaizdai nebus, kad sunku.

<? Php
/ / Ši funkcija bus padalinti vaizdas į eilučių skaičių vienodai dydžio stulpelių ir.
funkcija split_image ($ number_of_rows, $ number_of_cols, $ path_to_image, $ nazwa_pliku) (

/ / $ Number_of_rows = # eilučių norite;
/ / $ Number_of_cols = skaičius stulpeliai norite
/ / $ Path_to_image = aplanko vaizdas yra, kažką panašaus į: / home / content / vartotojo_vardas / html / list / nuotraukos /
/ / $ FILE_NAME = paveikslėlio failo vardas: archery.jpg ir tt

/ / Ardyti kelią pratęsimo
$file_name); $ Info = pathinfo ($ path_to_image. $ Nazwa_pliku);

/ / Įsitikinkite, mes susiduriame su jpeg
($info[ 'extension' ]) == 'jpg' ) || ( strtolower ($info[ 'extension' ]) == 'jpeg' ) ){ if ((strtolower ($ info ['pratęsimo']) == "jpg") | | (strtolower ($ info ['pratęsimo']) == "jpeg")) (

/ / Įkelti vaizdą ir gauti vaizdo dydis
); $ Source = imagecreatefromjpeg ("($ path_to_image) ($ FILE_NAME)");
$ Width = imagesx ($ source); / / Ieškoti plotis
$ Height = imagesy ($ source); / / Ieškoti aukštis
$ Segment_width = $ plotis / $ number_of_cols / / Nustatykite segmentų plotis atskirų
$ Segment_height = $ aukštis / $ number_of_rows / / Nustatykite segmentų aukštis atskirų

for ($ col = 0, $ col <$ number_of_cols; $ col + +)
(

($ row = 0; $ row <$ number_of_rows; $ 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") / / aš Spausdinti vaizdą pavadinimą čia, kad procesas rodo save kaip ji veikia
$ Im = @ imagecreatetruecolor ($ segment_width, $ segment_height);
imagecopyresized ($ im, $ šaltinis, 0, 0, $ col * $ segment_width, $ row * $ segment_height, $ segment_width, $ segment_height, $ segment_width, $ segment_height);
$ Failas = "test.jpg";
/ / Įrašyti vaizdai
, 100 )) //The destination will be something like /home/content/c/h/d/images/$fn if (imagejpeg ($ im, "INSERT PASKIRTIES čia", 100)) / / paskirties vieta bus kažkas panašaus į / home / content / C / H / D / images / $ fn

echo ("buvo! <br/>");

)

)

)

)

?>