Grafická knihovna PHP (3)
Jak využít přednosti grafické knihovny pro úpravy fotografií.
Pomocí GD library je možné i upravovat fotografie (JPG) pro webové rozhraní. Půjde především o změnu rozměrů, datovou velikost a skutečné rozměry. Je otázkou, zda jde o využitelné funkce. Příkladem je zasílání fotografií na server, kde nemusíme mít předem ošetřeny rozměry. Pomocí PHP je upravíme, převzorkujeme a provedeme předem zvolenou kompresi a ztrátovost. Odkaz k ukázce je uveden na konci článku.
Zápis kódu:
/* Velký obrázek rozměrově zmenšíme a určíme jeho velikost (je zřejmé, že je nutné mít zdrojovou fotografii). */
$velikost = GetImageSize("puvodni.jpg");
$obr_puvodni = ImageCreateFromJPEG("puvodni.jpg");
/* Nastavíme nové rozměry na jiné hodnoty. */
$obr_novy = ImageCreate(400, 300);
$bila=ImageColorAllocate($obr_novy, 255, 255, 255);
$hneda=ImageColorAllocate($obr_novy, 159, 6, 0);
$oranz=ImageColorAllocate($obr_novy, 255, 170, 0);
/* Zkopírujeme původní obrázek a zmenšíme jej na pevný rozměr. */
ImageCopyResized($obr_novy,$obr_puvodni, 0,0,0,0, 400,300, $velikost[0],$velikost[1]);
/* Dynamické chování - datum a čas */
$datum=Date("d.m.Y H:i:s");
ImageString($obr_novy, 5, 220, 10, $datum, $hneda);
/* Doprovodný text */
$text="ChytrákTim.cz";
ImageString($obr_novy, 5, 120, 130, $text, $oranz);
/* Doprovodný text */
$text="-pch-";
ImageString($obr_novy, 2, 360, 280, $text, $bila);
ImageJPEG($obr_novy, "novy.jpg", 100);
ImageDestroy($obr_novy);
ImageDestroy($obr_puvodni);
Jak je z kódu vidět, nové rozměry jsou 400 x 300 px. Je ale také možné nastavit poměrné změny, například zmenšení na polovinu původních rozměrů. Problematické může být umisťování textů. Čím pozdější je zápis, tím méně je překryt. Protože je umístěn před snímky, překrývá je. Využití se nabízí, můžete tímto způsobem ochránit snímky před případným zneužitím tak, že do nich vložíte nějaký nápis.
>>>>>
18-04-2008