Autor | Zpráva | ||
---|---|---|---|
Hadžim Profil |
#1 · Zasláno: 21. 2. 2005, 15:42:13
Myslim, že se to nedá, ale pro jistotu se chci zeptat, jestli někdo nevíte, jestli by se pomocí nějakého skriptovacího jazyka (nejlépe PHP) dala převzorkovat fotka, kterou mi uživatel uploadne.
|
||
Ikarus Profil |
#2 · Zasláno: 21. 2. 2005, 16:00:26
Nejsem zas tak zběhlej v terminologii.
Předpokládám, že chceš např změnit velikost. Hezký článek o změně rozměrů (vytváření náhledů pro fotogalerii) jsem kdysi četl na intervalu, nebo pcsvetu - stačí si jen napsat svoje rozměry. $filename = $_GET['id'].".jpg"; $nahled = "../nahledy/m_".$_GET['id'].".jpg"; $width = 120; $height = 85; if (file_exists($nahled)) { readfile($nahled); } else { /* funkce na vykreslení Error obrázku */ function ErrorImage() { header ("Content-type: image/png"); $im = imagecreate (120, 85); $background_color = imagecolorallocate ($im, 162, 205, 254); $line_color = imagecolorallocate ($im, 169, 165, 165); $text_color = imagecolorallocate ($im, 0, 0, 0); imagerectangle ($im, 0, 0, 119, 84, $line_color); imagerectangle ($im, 1, 1, 118, 83, $line_color); imagerectangle ($im, 2, 2, 117, 82, $line_color); imageline ($im, 0, 0, 119, 84, $line_color); imageline ($im, 119, 0, 0, 84, $line_color); $font_size = 5; $col = 12; $row = 11; imagestring ($im, $font_size, 17, $row , "FOTOGRAFIE", $text_color); imagestring ($im, $font_size, 31, $row * 3, "N E N Í", $text_color); imagestring ($im, $font_size, $col, $row * 5, "K DISPOZICI", $text_color); imagejpeg ($im); exit(); } /* jestli soubor existuje - získání informací o obrázku $size[0] - šírka $size[1] - výška $size[2] - formát */ if(file_exists($filename)) $size=getimagesize($filename); /* jestli neexistuje, vykreslení error obrázku */ else ErrorImage(); /* přidělení hlavičky */ header("Content-type: image/jpeg"); /* výpočet nové šířky a výšky */ $scale_width=$width/$size[0]; $scale_height=$height/$size[1]; $scale=($scale_width <= $scale_height ? $scale_width : $scale_height); $new_width=ceil($scale*$size[0]); $new_height=ceil($scale*$size[1]); /* vytvoření cílového a zdrojového obrázku */ $im = imagecreatetruecolor($new_width,$new_height); $res_im=imagecreatefromjpeg($filename); /* kopírování oblasti do cílového obrázku */ imagecopyresampled($im,$res_im,0,0,0,0,$new_width+1,$new_height+1,$siz e[0],$size[1]); /* výstup náhledu do prohlížeče */ imagejpeg($im); /* uložení obrázku */ imagejpeg($im,$nahled); /* zrušení zdrojového obrázku */ imagedestroy($res_im); } Já osobně mám pro upload fotek nastavený kritéria (velikost, rozlišení) a když to fotka nesplňuje, odkážu ho ať ji laskavě upraví v některém grafickém editoru - výsledek je rozhodně lepší, než změna rozměrů přes PHP. |
||
Časová prodleva: 19 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0