Stejná velikost všech obrázků

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
bluray
Člen | 178
+
0
-

Dobrý den, nahrávám na web obrázky a potřebuju je zmenšit a zobrazovat zmenšenou verzi. Jenomže podle toho jaké jsou rozměry obrázku, tak některé jsou po zmenšení jinak velké než ostatní a na webu to nevypadá dobře. jde nějak zařídit aby všechny obrázky měli stejnou velikost bez ohledu na jejich původních rozměrech? mám takovýhle skript:

$image = Image::fromFile($thumbPath);
$image->resize(imageWidth, imageHeight)->save($thumbPath);

Nebo mám raději ukládat obrázky v plné velikosti a zmenšovat je pomocí css nebo dát do tagu img parametry width a height? fungovalo by to?
Díky

voda
Člen | 561
+
0
-

Pokud chceš obrázky zdeformovat, tak použij třetí parametr metody resize s konstantou Image::EXACT.

Northys
Člen | 29
+
0
-

Pokud obrázky nechceš deformat a nebude ti vadit, když se na výšku usekne, tak ti pomůže tohle:

$image = Image::fromFile($thumbPath);
$image->resize($width, $height, Image::EXACT)->save($thumbPath)

popřípadě si pohraj s tím třetím parametrem, jak už psal @voda

tady máš tabulku z dokumentace

Příznak Popis
Image::FIT (výchozí) výsledné rozměry budou menší nebo rovny požadovaným rozměrům
Image::FILL vyplní (a případně přesáhne v jednom rozměru) cílovou plochu
Image::EXACT vyplní cílovou plochu a ořízne to, co přesáhne
Image::SHRINK_ONLY pouze zmenšování (zabrání roztažení malého obrázku)
Image::STRETCH nezachovávat poměr stran

Editoval Northys (19. 9. 2014 17:05)