Arhiva za funkcije

Kako dijeliti jednu sliku u više Images Koristeći PHP

Posted in funkcija php by ShortLikeAFox na 26 kolovoz, 2008

Dakle želite break jedna velika slika u više manjih slike? Nema problema. Ovaj svibanj činiti se poput zatamnjivati problem, ali postoji više razloga što biste željeli učiniti. Možda želite izraditi vizualni klizna zagonetka. Ili možda imate jedinstvenu WordPress tema. Ili možda želite napraviti kolaž nekih vrste. To stvarno ne pitanje zašto želite Split sliku u manje slika, PHP čini taj zadatak jednostavno. U primjeru u nastavku samo bavi jpegs. Mijenjanje funkcija kako bi se bavio s druge vrste slika koje ne bi bilo teško.

<? php
/ / Ova funkcija će split slike u nekoliko podjednako veličine stupaca i redaka.
funkcija split_image ($ number_of_rows, number_of_cols $, $ path_to_image, $ FILE_NAME) (

/ / $ = $ number_of_rows redaka koje želite;
/ / $ = $ number_of_cols od cols želite
/ / $ = path_to_image put do mape je slika u, nešto poput: / home / content / username / html / popis / dodano /
/ / $ FILE_NAME = Ime datoteke od slika: archery.jpg, itd.

/ / Parsati put za proširenje
$file_name); $ info = pathinfo ($ path_to_image. FILE_NAME $);

/ / pobrini se da je riječ o jpeg
($info[ 'extension' ]) == ‘jpg’ ) || ( strtolower ($info[ 'extension' ]) == ‘jpeg’ ) ){ if ((strtolower ($ info [ 'ekstenziju']) == 'jpg') | | (strtolower ($ info [ 'ekstenziju']) == 'jpeg')) (

/ / Učitavanje slika i dobiti veličina slike
); $ source = imagecreatefromjpeg ( "($) ($ path_to_image FILE_NAME)");
$ width = imagesx ($ izvor); / / Find širina
$ imagesy height = ($ izvor); / / Find visini
$ = $ segment_width širina / $ number_of_cols; / / Određivanje širine pojedinačnih segmenata
segment_height $ = $ height / $ number_of_rows; / / Određivanje visine pojedinačnih segmenata

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

for ($ redak = 0; $ redak <$ number_of_rows; $ redak + +)
(

, $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"); / / li printati naziv slike ovdje, tako da se proces pokazuje kao da teče
$ im = @ imagecreatetruecolor ($ segment_width, $ segment_height);
imagecopyresized ($ im, $ source, 0, 0, $ segment_width col * $ $ * $ row segment_height, segment_width $, $ segment_height, segment_width $, $ segment_height);
$ file = "test.jpg";
/ / Spremanje slike
, 100 )) //The destination will be something like /home/content/c/h/d/images/$fn if (imagejpeg ($ im, "INSERT ODREDIŠTU OVDJE", 100)) / / Odredišni biti nesto kao / home / content / c / h / d / images / $ FN

echo ( "je napravljen! <br/>");

)

)

)

)

?>

Kako napraviti Images Thumbnail Koristeći PHP

Posted in funkcija php by ShortLikeAFox na 22. srpnja 2008

Dakle želite izraditi sličice s obzirom sliku ... PHP čini ovaj jednostavan zadatak. Sam prvi put pisao funkcija ispod da se bave slike od strane korisnika na web stranici mogu pomoći upravljati. Učitane slike na ovim stranicama mogu se jpegs, pngs ili gifs, pa sam morao napisati funkciju koja se bavi svim trima. Ovaj kod je izvorno temelji isključivanje funkcije naći na webcheatsheet.com

Kako ćete to učiniti:

funkcija createThumbs ($ pathToImages, $ fname, pathToThumbs $, $ thumbWidth)
(

/ / Parsati put za proširenje

$ info = pathinfo ($ pathToImages. fname $);
/ / Nastaviti samo ako je to JPEG image
($info['extension']) == ‘jpeg’) ) if ((strtolower ($ info [ 'ekstenziju']) == 'jpg') | | (strtolower ($ info [ 'ekstenziju']) == 'jpeg'))
(

/ / Učitavanje slika i dobiti veličina slike
$ img = imagecreatefromjpeg ( "($ pathToImages) ($ fname)");
$ width = imagesx ($ img);
$ imagesy height = ($ img);

/ / Izračunati veličinu sličice
new_width $ = $ thumbWidth;
$ new_height kat = ($ height * ($ thumbWidth / $ width));

/ / Izraditi novu privremenu sliku
$ tmp_img = imagecreatetruecolor ($ new_width, $ new_height);

/ / Kopiranje i veličinu slike stare u nove slike
imagecopyresized ($ tmp_img, $ img, 0, 0, 0, 0, $ new_width, $ new_height, $ width, $ height);

/ / Spremanje sličice u datoteku
imagejpeg ($ tmp_img, "($ pathToThumbs) ($ fname)");

)

if (strtolower ($ info [ 'ekstenziju']) == 'gif')
(

/ / Učitavanje slika i dobiti veličina slike
$ img = imagecreatefromgif ( "($ pathToImages) ($ fname)");
$ width = imagesx ($ img);
$ imagesy height = ($ img);

/ / Izračunati veličinu sličice
new_width $ = $ thumbWidth;
$ new_height kat = ($ height * ($ thumbWidth / $ width));

/ / Izraditi novu privremenu sliku
$ tmp_img = imagecreatetruecolor ($ new_width, $ new_height);

/ / Kopiranje i veličinu slike stare u nove slike
imagecopyresized ($ tmp_img, $ img, 0, 0, 0, 0, $ new_width, $ new_height, $ width, $ height);

/ / Spremanje sličice u datoteku
imagegif ($ tmp_img, "($ pathToThumbs) ($ fname)");

)

if (strtolower ($ info [ 'ekstenziju']) == 'png')
(

/ / Učitavanje slika i dobiti veličina slike
$ img = imagecreatefrompng ( "($ pathToImages) ($ fname)");
$ width = imagesx ($ img);
$ imagesy height = ($ img);

/ / Izračunati veličinu sličice
new_width $ = $ thumbWidth;
$ new_height kat = ($ height * ($ thumbWidth / $ width));

/ / Izraditi novu privremenu sliku
$ tmp_img = imagecreatetruecolor ($ new_width, $ new_height);

/ / Kopiranje i veličinu slike stare u nove slike
imagecopyresized ($ tmp_img, $ img, 0, 0, 0, 0, $ new_width, $ new_height, $ width, $ height);

/ / Spremanje sličice u datoteku
imagepng ($ tmp_img, "($ pathToThumbs) ($ fname)");

)

)

Kako to radi

Funkcija createThumbs traje četiri argumenata.

  • $ pathToImages -> Put do mape slikovne datoteke je u. To bi moglo izgledati nešto kao ovo: / home / content / username / html / popis / dodano /
  • $ fname -> Ime datoteke: pic1.gif, johnny.jpg, itd ...
  • $ pathToThumbs -> Put do mape koju želite sliku da se in vi ne želite da se isti put kao $ pathToImages, jer sliku će imati isto ime kao i originalne slike.
  • $ thumbWidth -> Širina koje želite sličice da se u pikselima.

Važna napomena da sam ovdje trebala bi se da je ova funkcija nema ništa na mjestu, osim u datoteci produzenje provjeriti, da biste bili sigurni da slikovne datoteke sadrže zlonamjerne ništa. Budući da je slika createThumbs () radi s već učitane se pretpostavlja da su datoteke ispravno scrutinized.

Prva stvar createThumbs () je to poziv pathinfo (). pathinfo () breakove dijelova put u polje. To je korisno za nas, jer nam je potrebna file extension pravilno izraditi sličice. Sljedeća createThumbs () provjerava da li je riječ o jpeg. Ako originalne datoteke je JPEG createThumbs stvara nova slika temelji se na izvornu sliku sa imagecreatefromjpeg (.) Sljedeći korak je dobiti širinu i visinu slike (imagesx (), imagesy ()). Korištenje $ thumbWidth i originalni omjer širine i visine createThumbs () postavlja nove širinu i visinu sličice. Korištenje ovih novih ratios createThumbs () stvara "prazno" slika koja će biti ista širinu i visinu sličice sa imagecreatetruecolor (). Imagecopyresized () se koristi za resize slika i spremite je u "prazno", upravo stvorili. imagecopyresized () može izgledati kao da ima puno parametara, ali ako pogledajte dokumentaciju ga stvarno nije komplicirano. Sada kada sličice postoji kao istinski boji slike sve createThumbs treba učiniti je pretvoriti datoteke u JPEG. Da biste to učinili imagejpeg () je pozvan.

To je način na koji funkcioniraju radi jpegs. Postoje minimalne razlike. Pngs i. Gifs.