Automatické generování náhledů obrázků v PHP | Ondřej Mirtes

Automatické generování náhledů obrázků v PHP | Ondřej Mirtes

ČTVRTEK
22. 2. 2007
Automatické generování náhledů obrázků v PHP

Praktický a funkční zdroják pro generování náhledů z velkých obrázků. Hodí se jak pro galerie, tak i pro klasické prezentace všeho druhu. Odzkoušeno, úspěšně aplikováno :)

Praktické pro galerie a i klasické webové prezentace všeho druhu. Tento kód se hodí také v případě, že pouze nechcete nechat formátování obrázků na uživatelovi. Riskovat, že uploaduje některý obrázek větší, než má být a celý design se rozhodí, není nejlepší řešení. Stačí při nahazování zkontrolovat jejich rozměry a případně je zmenšit touto funkcí.


Vyžaduje nainstalovanou knihovnu php_gd2 pro práci s obrázky.

Funkce createthumb()

function createthumb($na me,$filename,$new_w,$n ew_h) {
    $system=explo de(‚.‘,$name);
    $src_img=image createfromjpeg($na me);

    $old_x=imageS X($src_img);
    $old_y=imageSY($src_im g);

    if ($old_x > $old_y) {
        $thumb_w=$new_w;
        $thumb_h=$old_y*($new_h/ $old_x);
    }

    if ($old_x < $old_y) {
        $thumb_w=$old_x*($new_w/ $old_y);
        $thumb_h=$new_h;
    }

    if ($old_x == $old_y) {
        $thumb_w=$new_w;
        $thumb_h=$new_h;
    }

    $dst_img=image createtruecolor($thum b_w,$thumb_h);
    imagecopyresam pled($dst_img,$src_im g,0,0,0,0,$thum b_w,$thumb_h, $old_x,$old_y);

    if (preg_match(„/png/“,$ system[1])) {
        imagepng($dst_im g,$filename);
    } else {
        imagejpeg($dst_im g,$filename);
    }

    imagedestroy($dst_im g);
    imagedestroy($src_im g);
}

…a její samotné aplikování v praxi:

createthumb("stary_soubor", "novy_soubor_nahled", $novy_roz mer_x, $novy_rozmer_y);
Ondřej Mirtes

Komentáře RSS

Přidat nový komentář
 

[1] Pulec | 4. 3. 2008 22:25

Ctěl bych se zeptat, jak upravit tento skript, aby obrázek uložil do zadané složky. Ukládá mi to totiž do složky, kde je skript uložen. Děkuji.

[2] Bzuk | 26. 8. 2008 22:08

Mam knihovnu na serveru, napíšu funkci:

a nefunguje m ito, nevíte proč?? odpovídejte na mail bzzuk@email.cz prosím

Info

Ondřej Mirtes

23 let

student ČVUT FEL
& webový vývojář

počítače, hry, DJing

Foto

Včera: @jantichy I've met some gentle people there…

Včera: Vždy, když mi volá blokované číslo, čekám na druhé straně Sadako Yamamurovou, která mi řekne, že do týdne zemřu.

Včera: Po shlédnutí Půlnoci v Paříži jsem tomu městu odpustil i vykradené auto. Chci se tam co nejdřív vrátit!

Včera: I have a feeling we're not in Kansas anymore. http://t.co/7BB51eKC

Před 9 dny: January 28th 2012 http://t.co/LsYUNvNm

Anketa

Rubriky

Top 5 za únor 2009

  • 1. The Doppler Effect – Beauty Hides In The Deep (The Blizzard Remix)
  • 2. Nifra – Complicated Life
  • 3. Will Holland – Tears In The Rain
  • 4. Myon & Shane 54 ft. Carrie Skipper – Vampire
  • 5. Rank1 – L.E.D. There Be Light

Winamp mi právě hraje

  • 112d Thomas Coastline & CrossRyders – Global Electronic Music Sessions 044 on AH.FM
  • 112d Next on Air: Eunostos – Club Nights 032 on AH.FM
  • 112d Thomas Coastline & CrossRyders – Global Electronic Music Sessions 044 on AH.FM
  • 112d Sean Tyas – Tytanium Sessions 116 on AH.FM
  • 112d Ferry Tayle – Flightbook Bratislava Edition on AH.FM
* * * * * * * * * * * * *