PHP gir en funksjon for å få bredden og høyden på et bilde. Med denne informasjonen og noen enkle matematikk , er det mulig å re- size et bilde for visning formål uten bruk av et grafisk bibliotek . Hvis du ønsker å permanent re- size et bilde må du bruke et grafisk bibliotek . PHP gir funksjoner for å bruke GD grafikk biblioteket for å manipulere bilder . Instruksjoner
en
Få størrelsen på en bildefil ved hjelp av " getimagesize "-funksjonen i PHP. Fange returverdien fra funksjonen og trekke mellom bildets bredde og høyde. For eksempel skrive : ?
< Php
define (" bredde" , 0 ) ;
define (" HØYDE " , 1) ;
< p > $ image_size = getimagesize ( " myimage.jpg ");
$ width = $ image_size [ bREDDE ];
$ height = $ image_size [ hØYDE ];
2
Set variabler lik målet bredde og høyde for å endre størrelse . For eksempel skrive : en
$ target_width = 100;
$ target_height = 100;
3
Beregn forholdet mellom ny til gammel bredde og høyde og velger den laveste av de to prosenter. Beregn ny bredde og høyde basert på dette forhold. For eksempel skrive : en
$ ratio_width = $ target_width /$ bredde;
$ ratio_height = $ target_height /$ høyde ;
$ ratio = min ( $ ratio_width , $ ratio_height ) ;
$ new_width = intval ( $ ratio * $ bredde) ;
$ new_height = intval ( $ ratio * $ høyde );
>
4
Vis bildet med den nye størrelsen ved å inkludere "width " og " height" attributter i HTML " img " tag . For eksempel skrive : ?
< Img src = " myimage.jpg " alt = " My Image" width = " ? < Php echo $ new_width > " height = " < php echo $ new_height > " />
5
Re- size bildet permanent ved å lage en kopi av bildet som et nytt bilde og skalering som nytt bilde med funksjonaliteten i GD grafikk biblioteket. ? For eksempel skrive : en
< php
$ image = imagecreatefromjpeg ( " myimage.jpg ");
$ new_image = ImageCreateTrueColor ( $ target_width , $ target_height ) ;
imagecopyresampled ( $ new_image , $ image , 0 , 0 , 0 , 0 , $ target_width , $ target_height , $ bredde, $ høyde ) ;
6
Vise re- sized image . For eksempel skrive : en
imagejpeg ( $ new_image , null, 100 ) ;
>
?