Forum » Izdelava spletišč » Dejanski resize slike
Dejanski resize slike
Ma$terM|nd ::
Zdravo
Imam en problem in sicer... Kako naj nardim da se bodo slike na spletni strani hitreje nalagale. Ker imam namreč narejeno galerijo v kateri je cca 60 slik velikosti 1280*960 (povprečno 500KB na sliko) in se celotna galerija nalaga obupno dolgo. Narejeno je tako da uporabnik klika male slike katere se prikazujejo v večjem okvirju. Ugotovil sem da 'width' in 'height' v 'img' tagu ne pomagata prav veliko. Vidi se sicer manjše, vendar velikost in s tem tudi čas nalaganja slike ostane enak.
Upam da me razumete kaj bi rad.
Aja, uporabljam pa PHP.
Imam en problem in sicer... Kako naj nardim da se bodo slike na spletni strani hitreje nalagale. Ker imam namreč narejeno galerijo v kateri je cca 60 slik velikosti 1280*960 (povprečno 500KB na sliko) in se celotna galerija nalaga obupno dolgo. Narejeno je tako da uporabnik klika male slike katere se prikazujejo v večjem okvirju. Ugotovil sem da 'width' in 'height' v 'img' tagu ne pomagata prav veliko. Vidi se sicer manjše, vendar velikost in s tem tudi čas nalaganja slike ostane enak.
Upam da me razumete kaj bi rad.
Aja, uporabljam pa PHP.
- spremenil: Ma$terM|nd ()
HardFu ::
Jap, tudi ce v img tag das dimenzije, je treba celo sliko nalozit, predlagam da naredis loceno mapo znotraj mape s slikami (sam jo ponavadi poimenujem 'thumbs'). Potem original slike skopiraj nekam in jih pomanjsaj na eno primerno velikost (120x90 recimo). Nato jih skopiraj v novo ustvarjeno mapo (Brez, da bi jim spremenil filename) in te slike potem prikazi na strani znotraj a-taga, ki naj kaze na original, nekako takole:
Ko bos velik, pa lahko dodas se kaksen lightbox :)
<a href="images/slika.jpg"><img src="images/thumbs/slika.jpg alt="" /></a>
Ko bos velik, pa lahko dodas se kaksen lightbox :)
http://codeable.io
bluefish ::
sedaj pa manjka samo še PHP koda, ki slike v eni mapi samodejno zmanjša in le te potem da v drugo mapo .
bluefish ::
to gre, dokler ročno prenašaš slike na server. Zatakne pa se, ko imaš v ozadju postavljen nek CMS ipd.
kogledom ::
blueFish, evo:
rabiš edino gd2 da ti dela.
rabiš edino gd2 da ti dela.
$imagefolder = 'slike/izvor/'; $thumbsfolder = 'slike/thumbs/'; $thumbWidth = 150; $thumbHeight =150; $pics=directory($imagefolder,"jpg,JPG,JPEG,jpeg,png,PNG"); foreach ($pics as $p) { createthumb($imagefolder.$p,$thumbsfolder.$p,$thumbWidth,$thumbHeight); } /* Function createthumb($name,$filename,$new_w,$new_h) creates a resized image variables: $name Original filename $filename Filename of the resized image $new_w width of resized image $new_h height of resized image */ function createthumb($name,$filename,$new_w,$new_h) { # echo("izdelal sem sliko $name <br />"); $system=explode(".",$name); if (preg_match("/jpg|jpeg/",$system[1])){$src_img=imagecreatefromjpeg($name);} if (preg_match("/png/",$system[1])){$src_img=imagecreatefrompng($name);} $old_x=imageSX($src_img); $old_y=imageSY($src_img); if ($old_x > $old_y) { $thumb_w=$new_w; $thumb_h=$old_y*($new_h/$old_x); } if ($old_x < $old_y) { $thumb_w=$old_x*($new_w/$old_y); $thumb_h=$new_h; } if ($old_x == $old_y) { $thumb_w=$new_w; $thumb_h=$new_h; } $dst_img=ImageCreateTrueColor($thumb_w,$thumb_h); imagecopyresized($dst_img,$src_img,0,0,0,0,$thumb_w,$thumb_h,$old_x,$old_y); if (preg_match("/png/",$system[1])) { imagepng($dst_img,$filename); } else { imagejpeg($dst_img,$filename,95); } imagedestroy($dst_img); imagedestroy($src_img); } /* Function directory($directory,$filters) reads the content of $directory, takes the files that apply to $filter and returns an array of the filenames. You can specify which files to read, for example $files = directory(".","jpg,gif"); gets all jpg and gif files in this directory. $files = directory(".","all"); gets all files. */ function directory($dir,$filters) { $handle=opendir($dir); $files=array(); if ($filters == "all"){while(($file = readdir($handle))!==false){$files[] = $file;}} if ($filters != "all") { $filters=explode(",",$filters); while (($file = readdir($handle))!==false) { for ($f=0;$f<sizeof($filters);$f++): $system=explode(".",$file); if ($system[1] == $filters[$f]){$files[] = $file;} endfor; } } closedir($handle); return $files; }
bluefish ::
Hudimana, človek se malo pošali, pa kljub temu dobi uporaben odgovor . Redko, ni kaj.
Hvala.
Hvala.
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | Hitrost spletne strani Localhost vs. WebOddelek: Izdelava spletišč | 2346 (1076) | Netrunner |
» | dnevna menjava slik skriptaOddelek: Izdelava spletišč | 1560 (1242) | VASkO |
» | [PHP]IncludeOddelek: Izdelava spletišč | 1207 (1129) | |ViPeR| |
» | GD libraryOddelek: Izdelava spletišč | 1174 (1006) | rokpok |
» | Neubogljiv Dreamweaver MXOddelek: Izdelava spletišč | 2053 (1812) | Crimson_Shadow |