Zkratka na hlavní stranu: Alt + Shift + horní 2(ě)
Linkedin FB e-mail Google Plus Twitter

Hledat na tomto webu

 
 

PHP – Přepočet rozměrů obrázku podle omezení šířky nebo výšky při zachování poměru stran
(vrací rozměry a HTML atributy)

 

Vytvořeno
asi 2013

 

Jednoduchá PHP funkce, jejímž smyslem je změna velikosti obrázku. Máte-li obrázek s naprosto libovolným (neznámým a neovlivnitelným) poměrem stran,
a k tomu omezení pro maximální výšku obrázku i pro maximální šířku obrázku, aby se vám obrázek vešel do rozložení webu,
čeká tato funkce právě na vás.

  /******Přepočet rozměrů obrázku podle omezení šířky nebo výšky při zachování poměru stran********/  
  /******Recalculation of size of image by limit for width or height, keeping aspect ratio********/
  function new_image_size($width, $height, $maxwidth, $maxheight=0)
    { // Vstupní parametry: 
      //    2x aktuální velikost obrázku (Ale ve většině případů místo nich můžete použít nativní funkci getimagesize().); 
      //    2x maximální požadovaný rozměr obrázku (0 == bez omezení), můžete vypustit poslední parametr pro maximální výšku (dosadí se 0 == neomezeně)   
      
      // Na vstupu můžete zadat rozměry obrázku s jakýmkoliv skutečným poměrem stran (poměr stran může být jiný než je poměr nejvyšších mezních rozměrů)
      // Na vstupu můžete zadat nejvyšší přípustné hodnoty pro šířku, nebo pro výšku, nebo pro obě  
      // Na výstupu dostanete šířku, výšku a XHTML kód s oběma těmi hodnotami
    
      // Autor: Martin Adámek, www.adamek.cz, Náchod 
      // Na internetu se vyskytuje mnoho podobných funkcí, ale hledání nějaké stejně univerzální jako je tato by zabralo více času než si tu funkci napsat: 

      if (($maxheight>0)and($maxheight<$height))
        { $width  = $width*$maxheight/$height;
          $height = $maxheight;
        }
      
      //Nepoužívejte tady 'elseif' ani 'else'! Funkce je připravená na obrázky s poměrem stran hodně odlišným od poměru horních omezení rozměrů. Takže je možné, že velikost bude opravena už v prvním kroku, ale nebude to stačit, takže bude znovu opravena ve druhém kroku!  
      //Do not use 'elseif' (n)or 'else' here! Function is ready for sizes of image with aspect ratio very different from aspect ratio of limits for size. So it is possible that size will be corrected already in first step, but it will not be enough, so it will be corrected again in second step!
      if (($maxwidth>0)and($maxwidth<$width))  
        { $height = $height*$maxwidth/$width;
          $width  = $maxwidth;
        }
      return array($width, $height, 'width="'.$width.'" height="'.$height.'"');
    }

Skok nahoru na: Navigační menu (klávesová zkratka „5”)

Zaujala Vás tato stránka?

  • Přidat do záložek (Ctrl+D)
  • Sdílet odkaz (vysílačka)Skok nahoru na:
  • Vytisknout (Ctrl+P)
  • Citovat podle ČSN ISO 690

    Tuto stránku

    ADÁMEK, Martin. PHP – Přepočet rozměrů obrázku podle omezení šířky nebo výšky při zachování poměru stran: (vrací rozměry a HTML atributy). Martin Adámek [online]. Náchod [cit. 2019-12-06]. Dostupné z: https://www.adamek.cz/sw/php/prepocet-rozmeru-obrazku

    Celý web

    ADÁMEK, Martin. Martin Adámek [online]. Náchod [cit. 2019-12-06]. Dostupné z: https://www.adamek.cz

 

 
 

Národní kulturní dědictví

Stránky archivovány Národní knihovnou ČR Tyto stránky jsou pravidelně archivovány Národní knihovnou ČR pro svou kulturní, vzdělávací, vědeckou, výzkumnou nebo jinou informační hodnotu za účelem dokumentace autentického vzorku českého webu. Jsou součástí kolekce českých webových stránek, které NK ČR hodlá dlouhodobě uchovávat a zpřístupňovat pro budoucí generace. Jejich záznam je součástí České národní bibliografie a katalogu NK ČR.  

 

 
 

Pro rozptýlení

Fyzik, matematik a inženýr jsou na dovolené v zahraničí, kde jsou z jim neznámého důvodu zatčeni a odsouzeni k popravě gilotinou. Den popravy nadešel a nešťastníci jsou přivedeni na popraviště.
Matematik je položen na špalek, kat trhne za provaz… ale nic se nestane, čepel visí nahoře a ani se nehne. Matematik rychle vysvětluje: „Události jsou stejně pravděpodobné, takže P(A) = 1/2 a všechno je v pořádku.” Dále prohlásí, že nemůže být za jeden zločin trestán vícekrát. Kat dlouho přemýšlí a nakonec se rozhodne, že zákon je na matematikově straně, takže ho propustí.
Na špalek je položen fyzik. Kat trhne za provaz a zase se nic nestane. Fyzik si vzpomene na matematika a řekne: „Ek = 0,5 × mv2 a v = 0, takže je to v pořádku.” Ještě připomene katovi, že nemůže být za jeden zločin trestán vícekrát, a je také propuštěn.
Ke špalku je přiveden inženýr, který bedlivě sledoval dosavadní dění. Jak mu pokládají hlavu pod gilotinu, prohlédne si mechanismus uvolňující čepel a vykřikne: „Počkejte chvilku! Už vím, kde je problém…”

 

Pro zamyšlení

Napsat slovo vědomě chybně a dát ho do uvozovek, aniž by šlo o citaci,
je stejné jako zaparkovat auto v zákazu zastavení a ještě k tomu zapnout všechny blinkry.
Pachatel usiluje o to, aby bylo vidět, že si je svého přestupku vědom.

[Vlastní konstatování autora tohoto webu, 2014.]