Autor | Zpráva | ||
---|---|---|---|
Milan1236000 Profil |
#1 · Zasláno: 20. 12. 2015, 23:38:03
Zdravím, pomocí funkce
glob se v galerii zobrazují obrázky z různých složek. Nyní potřebuji zjistit velikost šířky a výšky, abych mohl nastavit určité rozměry při zobrazení obrázku v tagu img kvůli tomu, abych neroztahoval obrázek, který je "na výšku". Napadlo mě rozměry psát v %, ale to taky není úplně ideální, když je každý obrázek jinak velký.
Mám tam tento skript foreach (glob("soubory/galerie/slozka/*.jpg") as $obrazek) { $sirka=imagesx($obrazek); $vyska=imagesy($obrazek); if($sirka>$vyska) echo "<img src=\"" . $obrazek . "\" width=\"100px\" height=\"50px\">"; else echo "<img src=\"" . $obrazek . "\" width=\"50px\" height=\"100px\">"; } imagesx() expects parameter 1 to be resource, string given in... a
imagesx() expects parameter 1 to be resource, string given in... .
U toho zjišťování šířky a výšky nemůže být napsaná cesta k souboru? Jak tedy zjistit rozměry obrázku? |
||
Smycma Profil |
Pokud chceš dodržet poměr stran tak stačí vybrat si atribut který má být u všech stejný a ten druhý se upraví sám a není potřeba zjišťovat velikosti
|
||
juriad Profil |
Viz 2. example na php.net/manual/en/function.getimagesize.php
Ale ty asi chceš něco jiného. Každopádně tato funkce ti vrátí jak šířku, tak výšku. Pak už je to jen otázka podmínek a aritmetiky. |
||
Keeehi Profil |
#4 · Zasláno: 20. 12. 2015, 23:46:42
$im = imagecreatefromjpeg($obrazek); $sirka=imagesx($im); $vyska=imagesy($im); imagedestroy($im); Smycma: Milan1236000: „Napadlo mě rozměry psát v %, ale to taky není úplně ideální, když je každý obrázek jinak velký.“ Jenže veikost v % se nepočítá ze skutečné velikosti obrázku, ale vzhledem k jeho rodiči. Tudíž když dáš nějakému obrázku width: 25% , vždy zabere jen čtvrtinu šířky a ve zbylých třech čtvrtinách bude předpokládám text. A vůbec nezáleží na tom, jak byl ten obrázek původně veliký.
|
||
Chamurappi Profil |
Reaguji na Milana1236000:
„ width=\"50px\" height=\"100px\" “
Do atributů width a height se px nepíšou.
Reaguji na Keeehiho: „Jenže veikost v % se nepočítá ze skutečné velikosti obrázku, ale vzhledem k jeho rodiči.“ Matně si vzpomínám, že kdysi bylo v plánu, že pokud se v CSS neuvedou u rozměrů jednotky, tak se bude jednat o násobek skutečné šířky/výšky – tudíž width: 0.25; by zmenšovalo na čtvrtinu. Nevím, v jakém stavu je ten plán teď, předpokládám, že to nikdy žádný prohlížeč nepodporoval.
|
||
Milan1236000 Profil |
Díky všem moc za odpovědi, nakonec jsem použil
getimagesize .
Chamurappi: Máš pravdu, vše dělám na px, příp. %, takže jsem si to neuvědomil, ale i s napsanými px to funguje. Díky. |
||
Časová prodleva: 9 let
|
0