Autor | Zpráva | ||
---|---|---|---|
Jamanek Profil * |
#1 · Zasláno: 26. 8. 2005, 13:08:52
Zdar všem.
Nemáte někdo script, že když zadám <img src="./images.php?obrazek=neco.jpg&?vyska=55&?sirka=33"> tak to projde scriptem v image.php a převede se to do dané velikosti ? Nutně prosím ! |
||
23_nic_neumi Profil * |
#2 · Zasláno: 26. 8. 2005, 14:19:12
jasne ...
podivej se na fci getimagesize(); teoreticky by to mohlo byt takto: images.php $obrazek=$_GET["obrazek"]; list($sirka,$vyska)=getimagesize($obrazek); echo "<img src='$obrazek' width=$sirka height=$vyska>"; a pak si to volas images.php?obrazek=auto&sirka=XX&vyska=YY |
||
hubipe Profil |
#3 · Zasláno: 26. 8. 2005, 14:52:34
Je to docela v pohodě si to napsat, jen se musí důkladně prostudovat funkce GetImageSize() (Má asi 12 parametrů...). Ještě jedna rada, obrázek není dobré zvětšovat, jen zmenšovat. Pokud si chceš udělat náhledy, pak musíš dát podmínku, zda-li je obrázek menší, než jakej ho chceš, picni ho tam tak jak je.
|
||
hubipe Profil |
#4 · Zasláno: 26. 8. 2005, 14:54:13 · Upravil/a: hubipe
A ještě jedna rada, používej ImageCreateTrueColor(), jinak ti to může zabarvovat úplně blbě!
|
||
Časová prodleva: 4 dny
|
|||
:) Profil * |
#5 · Zasláno: 30. 8. 2005, 04:16:03
surovej kod, psanej na miru jedne me aplikaci, musis si to trochu upravit
class image{ // Atributy var $config; var $image; var $mysql_link; // Konstruktor function image($config, $mysql_link, $image, $preset, $q){ $this->config = $config; $this->mysql_link = $mysql_link; $this->image['id'] = $image; $this->image['preset'] = $preset; $this->image['quality'] = $q; } // Script // Ziskame rozmery obrazku function get_image_preset_size($import_size){ if(!isset($this->image['preset'])){ $this->image['preset'] = $this->config['def_preset']; } if($this->image['preset'] === "1"){ $sub_conf['0'] = "150"; }elseif($this->image['preset'] === "2"){ $sub_conf['0'] = "200"; }elseif($this->image['preset'] === "3"){ $sub_conf['0'] = "250"; } $sub_conf['1'] = round($import_size[1]/$import_size[0]*$sub_conf['0']); return $sub_conf; } // Ziskame kvalitu obrazku function get_image_quality(){ if(isset($this->image['quality'])){ $img['export_quality'] = $this->image['quality']; }else{ $img['export_quality'] = $this->config['def_quality']; } return $img['export_quality']; } // Ziskame obrázek function get_image(){ // Ziskame kvalitu obrazku $img['export_quality'] = $this->get_image_quality(); // Ziskame id obrazku if(!isset($this->image['id'])){ $this->image['id'] = $this->config['err_image']; } // Ziskame cestu k obrázku > $img['name']['nazev'] $query = "SELECT (nazev) FROM obrazky where id=".$this->image['id']." LIMIT 0,1"; $img['name'] = mysqli_fetch_array(mysqli_query($this->mysql_link,$query)); // Nacteme parametry obrazku a dopocitame ostatni // Nacteme velikosti puvodniho obrazku > $img['import_size'] $img['import_size'] = GetImageSize($this->config['img_dir'].$img['name']['nazev']); // Vypocitame velikost exportovaneho obrazku > $img['export_size'] $img['export_size'] = $this->get_image_preset_size($img['import_size']); // Kvalita je v promenne $img['export_quality'] // Vygenerujeme nazev souboru pro cache > $img['export_name'] $img['export_name'] = $img['export_size']['0']."x".$img['export_size']['1']."_".$img['export _quality']."_".$img['name']['nazev']; // Cachovani // Pokud existuje soubor > $img['cache_file_exist'] $img['cache_file_exist'] = is_file($this->config['cache_dir'].$img['export_name']); // Pokud soubor existuje presmerujeme na nej prohlizec if($img['cache_file_exist']){ header("Location: ".$this->config['cache_dir'].$img['export_name']); } // Pokud ne, vygenerujeme ho // Nacteme predlohu do > $img['import'] $img['import'] = ImageCreateFromJpeg($this->config['img_dir'].$img['name']['nazev']); // Vytvorime obrazek s rozmery pro export > $img['export'] $img['export'] = ImageCreateTrueColor($img['export_size']['0'], $img['export_size']['1']); // Upravime a zkopirujeme obrazek do > $img['export'] ImageCopyResampled($img['export'], $img['import'], 0, 0, 0, 0, $img['export_size']['0'], $img['export_size']['1'], $img['import_size'][0], $img['import_size'][1]); // Smazeme $img['import'] ImageDestroy($img['import']); $img['import'] = ""; // Ulozime soubor do adreasere s cache imageJpeg($img['export'], $this->config['cache_dir'].$img['export_name'], $img['export_quality']); // Posleme hlavicku ze jsme obrazek :) header("Content-type: image/jpeg"); // posleme prohlizeci obrazek imageJpeg($img['export'],"", $img['export_quality']); ImageDestroy($img['import']); ImageDestroy($img['export']); unset ($img); } } |
||
Erůrek Profil * |
#6 · Zasláno: 30. 8. 2005, 17:18:28
a jak se to pak vola, mohl bys to prosim trochu popsat.. moc dik
|
||
Časová prodleva: 19 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0