Autor Zpráva
Hadžim
Profil
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
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.
Toto téma je uzamčeno. Odpověď nelze zaslat.

0