Dnes si ukážeme, jak pomocí PHP otočit obrázek o několik stupňů.
Máme na výběr: 0°, 90°, 180°, 270°, či dokonce 360°. Nebo úplně jinak, třeba o 15°, nebo rovnou 145°.
Nejdříve si musíme definovat, jak se bude jmenovat vstupní obrázek (ten, co se bude rotovat) a pak ještě ten výstupní (co uložíme jako otočený).
Vytvoříme si tedy dvě proměnné:
<?php $vstup = "a.jpg"; $vystup = "b.jpg";
Předpokládejme, že si skript nazveme rotace.php a ve stejné složce existuje obrázek, který se jmenuje a.jpg. Druhý nemusí existovat. Na prvním řádku máme otevírací tag pro PHP. Na druhém řádku definujeme obsah proměnné $vstup jako obsah a.jpg a na třetím řádku zase k proměnné $vystup obsah b.jpg.
Vytvoření kopie obrázku
Dále si musíme načíst obrázek a.jpg a udělat si jeho kopii, abychom s ním mohli dále pracovat. To provedeme pomocí PHP funkce imagecreatefromjpeg, v překladu to znamená: obrázek vytvoříme z jpeg. Z originálu vytvoříme kopii proměnné $vstup (jako první parametr funkce v závorce) a tu uložíme jako proměnnou $kopie.
$kopie = imagecreatefromjpeg($vstup);
Otočení obrázku
Nyní přichází ten očekávaný a slavnostní okamžik – samotná rotace pomocí PHP funkce imagerotate. Výstup této funkce uložíme do proměnné $otoceny. Jako první parametr funkce uvedeme název obrázku, který budeme rotovat. Takže to bude proměnná $kopie. Jako druhý parametr uvedeme číslo – číslem udáváme počet stupňů, ve kterých se má obrázek otočit. Uvedeme třeba 90°. A nulu přidáme jako poslední parametr:
$otoceny = imagerotate($kopie,90,0);
Uložení obrázku
A jako poslední, uložíme zrotovaný obrázek do souboru. A to pomocí PHP funkce imagejpeg. Prvním parametrem bude samotný obrázek v proměnné $otoceny a druhým bude jeho název, tedy proměnná $vystup. A přidáme uzavírací tag pro PHP:
$obrazek = imagejpeg($otoceny, $vystup); ?>
A máme hotovo! Na konečný skript se můžete podívat ještě tady:
<?php $vstup = "a.jpg"; $vystup = "b.jpg"; $kopie = imagecreatefromjpeg($vstup); $otoceny = imagerotate($kopie,90,0); $obrazek = imagejpeg($otoceny, $vystup); ?>