Skapa img.php och en klass CImage för bildhantering
Du skall skapa en klass CImage
som kan förminska bilder, beskära och bearbeta dem. Du skall även skapa en sidkontroller img.php
som använder sig av klassen CImage
för att bearbeta bilderna.
Din kod skall jobba mot PHP Graphics Library, PHP GD, ett bibliotek för bildbearbetning,
I guiden “Skapa egen kod för att beskära och förminska bilder med PHP GD” så visas hur du bygger upp ett skript img.php
för bildhantering. Din klass CImage
skall samla den koden i en klass och img.php
skall använda den klassen och slutresultatet skall bli samma som i guiden, men objektorienterat.
#Förkunskaper
Det är bra om du har kännedom om Anax och Anax moduler.
Det är också bra om du läst igenom artikeln om “CImage
and img.php
”.
Du bör ha gjort, eller ha förkunskaper som motsvarar, guiden “Skapa egen kod för att beskära och förminska bilder med PHP GD”. Koden som du förväntas utgå ifrån, är den kod som visas i artikeln.
#Förberedelser och tips
Du har alltså jobbat igenom artiklarna ovan och du har själv skapat kod som fungerar som img.php
skall göra. Uppgiften handlar alltså främst om att strukturera din kod, från fulkod till finare kod i en klass CImage
.
Koden skall fungera i ditt Anax. Men den skall vara oberoende av din config.php
. Anledningen är att du startar en session i config.php
och om cachningen skall fungera för bilderna så får man inte starta en session. Du har alltså inte tillgång till autoloadern utan måste från img.php
göra en vanlig include på CImage.php
. Det är en liten skillnad från dina vanliga Anax moduler.
#Krav
Skapa klassen
CImage
så att du kan använda den i ditt Anax.Flytta koden från
img.php
, som visas i guiden, och bygg upp klassenCImage
.Resultatet blir en klasss
CImage
och en uppdaterad och slimmad sidkontrollerimg.php
.Din lösning skall ha samma funktionalitet som visas i guiden.
#Extrauppgift
Lägg till hantering av transparenta PNG-bilder som beskrivs i tipset “Uppgradera din img.php till att hantera transparenta bilder med PHP GD”.
Lägg till stöd för GIF-bilder.
Lägg till ett filter för att skapa svartvita bilder med
imagefilter()
.Skapa ditt eget filter för sepia, kika här hur du kan kombinera filter för att skapa en sepia-effekt.
#Tips från coachen
Lös uppgiften på ditt eget vis. Det är det viktigaste. Se hur bra dina vingar bär.
Lycka till och hojta till i forumet om du behöver hjälp!
#Revision history
- 2015-01-14: (B, mos) la till stycke om förberedelser.
- 2013-10-15: (A, mos) Första utgåvan i samband med oophp version 2.