Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky
Napíšte funkciu pre vytvorenie miniatúr . Vezmite tri parametre do funkcie : cestu , kde sú uložené súbory obrázkov , cesta , kde by mali byť uložené súbory , miniatúry a šírky obrazu náhľady . Napríklad , typ : ?
< Php
funkcie create_thumbnails ( $ image_path , $ thumb_path , $ thumb_width ) {
2
Otvorte adresár , kde je umiestnený obraz súbory sú uložené . Otvorte slučku čítať každý súbor v adresári , skontrolujte , či je súbor JPG a potom spracovať ju . Napríklad typ :
while ( ( $ file = readdir ( $ directory ) ) ) {
$ file_info = PathInfo ( $ image_path , $ file ) ;
ak ( strtolower ( $ file_info [ " rozšírenie " ] ) == " jpg " ) {
echo " Prevod " . $ Image_file . " Miniatúr " ;
3
Uložte cestu obrazu a názov súboru a cestu miniatúr a názov súboru premenných pre obraz spracovávaný v slučke . Napríklad typ :
$ image_file = $ image_path . $ File ;
$ thumb_file = $ thumb_path . $ File ;
4
Vytvoriť nový obrázok zo súboru obrazu pomocou funkcie imagecreatefromjpeg a získať aktuálne šírku a výšku obrázku . Napríklad typ :
$ image = imagecreatefromjpeg ( $ image_file ) ;
$ width = imagesx ( $ image ) ;
$ height = images ( $ image ) ;
5
Vypočítajte výšku miniatúry založené na šírke miniatúry odovzdaný ako parameter do funkcie a zachovanie rozmerov proporcionálne . Napríklad typ :
$ new_height = floor ( $ výšky * ( $ thumb_width /$ šírka ) ) ;
6
Vytvorte dočasný obraz . Kopírovať obraz do dočasného obrazu začína na súradniciach 0,0,0,0 a škálovanie obrazu v závislosti na aktuálnej šírku , šírka náhľady, aktuálnej výšky a výšky náhľady . Napríklad typ :
$ temp = imagecreatetruecolor ( $ thumb_width , $ new_height ) ;
imagecopyresized ( $ temp , $ image , 0 , 0 , 0 , 0 , $ thumb_width , $ new_height , $ šírka , $ výšky ) ;
7
Uložiť miniatúru v priečinku s náhľadmi . Napríklad typ :
imagejpeg ( $ temp , $ thumb_file ) ;
8
generovať chybovú správu , ak súbor obrázku nebol súbor JPG . Dokončenie slučky a zatvorte otvorené adresár snímok , kedy urobil . Napríklad typ :
}
else {
echo $ image_file . " Nie je obrázok JPG ! " ;
}
}
Closedir ( $ directory ) ;
}
9
Volanie funkcie s príslušnými parametrami vykonať konverziu . Napríklad , typ : ?
Create_thumbnails ( " /home /steve /images /" , " /home /steve /thumbs /" , 100 ) ;
>