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. 2025-04-15]. 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. 2025-04-15]. 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í

Pase ovčák ovce na zelené louce. Najednou, co to? Po pěšince přijíždí bavorák a za ním oblaka prachu. Za volantem mladý muž v obleku od Broniho, v botách od Gucciho, vázanka D+G a na očích tmavé brýle Ray Ban.
Stisknutím tlačítka stáhne okénko, vykloní se a povídá: „Hej, ovčáku, když ti řeknu, kolik máš ve svém stádě ovcí, dáš mi jednu?”
Ovčák se pomalu podívá na úspěšného mladého muže a řekne klidně: „Ale jo, proč ne?”
Úspěšný mladý muž zaparkuje svůj bavorák, vytáhne notebook Dell, připojí ho ke svému mobilu od AT&T. Pomocí GPS určí svoji polohu, pak se připojí na satelit NASA, kde zadá svoje souřadnice a vyžádá si pořízení řady fotografií s vysokým rozlišením. Pak pomocí Adobe Photoshop otevře pořízené digitální obrázky a exportuje je do zpracovatelského střediska v Hamburku. Během pár vteřin dostane na svůj Palm Pilot zprávu, že obrázky jsou zpracovány a uloženy v databázi SQL. Propojí databázi s Excelem, kde má stovky složitých vzorců, a uploaduje všechna uložená data. Po několika minutách má zpracovaná data. Vytiskne je na miniaturní barevné tiskárně HP LaserJet jako stopadesátistránkovou zprávu a otočí se k ovčákovi: „Máš přesně 1 586 ovcí.”
„To je pravda. Takže podle naší domluvy si můžete vybrat jednu ovci.” Ovčák pozoruje pobaveně mladého muže, jak se snaží napasovat jedno zvíře do kufru auta, a pak povídá: „Když vám řeknu, jaké je vaše povolání, vrátíte mi, co jste si vzal?”
Mladý muž se na vteřinu zamyslí a odpoví: „Jistě.”
„Jste konzultant”, řekne ovčák.
Mladému muži spadne čelist: „To je pravda. Jak jste to uhodl?”
„Vůbec jsem nemusel hádat,” povídá ovčák. „Přijel jste, aniž by pro vás kdokoliv poslal. Chtěl jste si nechat zaplatit za odpověď, kterou jsem už dávno znal - navíc na otázku, na kterou jsem se ani neptal, a přitom o mé práci víte úplný kulový. A teď mi vraťte mého psa…”

 

Pro zamyšlení

Lidé žijí tak, jako by neměli nikdy zemřít, a potom zemřou, aniž by předtím žili.
[Dalajláma 14. (* 1935)]