Programátor PHP – Praha – dlouhodobá spolupráce
Zobrazují se odpovědi 1 až 4 z 4

Zmena velikosti obrazku

  1. Vsechni zdravim.

    Prosim o pomoc.

    Potrebuju si napsat script na zmenu velikosti obrazku.
    Budu uplodovat na server obrazky a chci, aby meli max 200x200 pixelu.
    To znamena aby se mensi obrazky nechaly a vetsim se upravila velikost na pozadovanou hodnotu se zachovanim pomeru stran. Zkousel jsem si to napsal sam, ale uplne jsem se v tom ztratil, tak jsem to cely smaznul a zacinam znova.

    Shanim tedy nejaky script ktery toto dokaze, nebo alespon odkaz na material k vyuce.

    Dekuji.

    S pozdravem KejliCZ

  2. Happy Robot :]

    Co se právě děje na Webtrhu?

  3. getimagesize - zjistíš velikost uloženého obrázku a vypočítáš nové rozměry
    imagecreatefromjpeg - načteš ten obrázek
    imagecreatetruecolor - vytvoříš prázdný obrázek o požadovaných rozměrech
    imagecopyresized - nakopíruješ do něj zmenšeninu
    imagejpeg - uložíš do souboru
    Naposledy upravil tracy : 28.10.2008 v 00:16

  4. Používám taky imagecopyresized(), ale pokud nezmenšuji obrázek na polovinu (např. z 200x200 na 100x100), výsledná kvalita je docela nic moc i přes nastavení parametru quality na 100.
    Trochu mě to trýzní, jelikož uživatelé budou vkládat obrázky různých velikostí a navíc se jedná o loga firem která jsou v drtivé většině logotypy a moc to nejde přečíst :/

    original - imagecopyresized() - photoshoped


    Zjevný je taky velikostní rozdíl imagecopyresized() - 6kB oproti photoshoped 48kB, ale na velikosti souboru mi ani tak nezáleží spíš jako na kvalitě.

    ---------- Příspěvek doplněn 04.01.2012 v 10:59 ----------

    příjemně překvapen:
    "Use imagecopyresampled instead of imagecopyresized."
    viz http://stackoverflow.com/questions/2...-image-quality

  5. Možná ti pomůže tento script jako funkce na zmenšení obrázku.

    Kód:
    function cropImage($nw, $nh, $source, $stype, $dest) {
    	$size = getimagesize($source);
    	$w = $size[0];
    	$h = $size[1];
    
    	switch($stype) {
    		case 'image/gif':
    		$simg = imagecreatefromgif($source);
    		break;
    		case 'image/jpeg':
    		$simg = imagecreatefromjpeg($source);
    		break;
    		case 'image/pjpeg':
    		$simg = imagecreatefromjpeg($source);
    		break;
    		case 'image/png':
    		$simg = imagecreatefrompng($source);
    		break;
    		case 'image/x-png':
    		$simg = imagecreatefrompng($source);
    		break;
    	}
    
    	$value=($nw*100)/$w;
    	$nh=($h*$value)/100;
    	if($nh<55){$nh=55;}
    	$dimg = imagecreatetruecolor($nw, $nh);
    
    	imagecopyresampled($dimg,$simg,0,0,0,0,$nw,$nh,$w,$h);
    	imagejpeg($dimg,$dest,100);
    }

Podobná témata

  1. Ziskani obrazku ze slozky
    By Scorpius in forum Javascript
    Odpovědí: 6
    Poslední příspěvek: 18.03.2008, 19:00
  2. CSS - zmena barev
    By Tonda in forum Design
    Odpovědí: 2
    Poslední příspěvek: 02.12.2007, 21:17
Hostujeme u Server powered by TELE3