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 Alt + Shift + horní „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 / Meziměstí [cit. 2024-11-21]. Dostupné z: https://www.adamek.cz/sw/php/prepocet-rozmeru-obrazku

    Celý web

    ADÁMEK, Martin. Martin Adámek [online]. Náchod / Meziměstí [cit. 2024-11-21]. Dostupné z: https://www.adamek.cz

 

 
 

Národní kulturní dědictví

WebArchiv – 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í

Matematik a inženýr jdou na fyzikovu přednášku. Tématem přednášky jsou Kulza-Kleinovy teorie týkající se fyzikálních procesů nastávajících v prostorech o devítí, dvanácti a více rozměrech. Matematik sedí naprosto zaujatý přednáškou, ale inženýr se mračí a vypadá naprosto zmateně. Před koncem už ho řádně bolí hlava. Po přednášce matematik ohodnotí přednášku jako vysoce zajímavou.
Inženýr: „Jak jsi tomu porozuměl?”
Matematik: „Prostě jsem si ty procesy představil”
Inženýr: „Jak je vůbec možné si představit procesy probíhající v devítirozměrném prostoru?”
Matematik: „Jednoduše, nejprve si to představím v N-rozměrném prostoru a pak určím N rovno devíti.”

 

Pro zamyšlení

Mnoho lidí se bojí o svou pověst, ale málokdo se bojí svého svědomí.
[Gaius Plinius Secundus Maior]