Projektek - class ThumbMaker

class ThumbMaker

PHP - MySql, Projektek, Web-Prog Keveqiah 2011. jan. 11. 11:53
VN:F [1.9.13_1145]
Rating: 0.0/5 (0 votes cast)

Bélyegkép készítés okosan. Az alábbi php osztály az általunk megadott paraméterek alapján készíti el a kívánt bélyegképet, akár arányosan átméretezve, vagy az eredetiből kivágva egy részletet. Az osztály menti az első generáláskor készített bélyegképet, így a további oldal lehívásoknál már a mentett képet jeleníti meg, ezzel növelve az oldal betöltődési sebességét.
Mentéshez a fájl nevét és a paramétereket használja, ezzel egyedileg tudja azonosítani az elkészült bélyegképeket.

Letöltés Demo

Paraméter lista:

   f : a fájl elérési útja
   w : a bélyeg szélességi mérete
   h : a bélyeg magassági mérete
   r : átméretezés engedélyezés / tiltás
   p : kép kivágása a megadott koordinátáktól szélesség magasság alapján
   f : file path
   w : integer
   h : integer
   r : alapértelmezett True / False
   p : integer,integer

Lássunk pár példát a beállításokra

 img src="thumbmaker.php?f=fajl/eleresiut/nev.jpg&w=400" alt=""

Ezzel a paraméterezéssel egy arányosan átméretezett 400px széles képet fogunk visszakapni.
Ha megadunk magassági méretet is,

 img src="thumbmaker.php?f=fajl/eleresiut/nev.jpg&w=400&h=200" alt=""

a generátor megvizsgálja a képet, beállítja a megadott szélességet, majd a kép tetejétől pár pontnyira leszámolja a magasságot és megvágja a képet.

Ennek a megoldásnak igazából állóképek megjelenítésénél vesszük hasznát, mivel kevésbé torzul a kép és a méret is megfelelő marad.

Lehetőség van tiltani a kép átméretezését, ha csak egy részletet szeretnénk megjeleníteni. Ezt az alábbi paraméterezés szemlélteti.

 img src="thumbmaker.php?f=fajl/eleresiut/nev.jpg&w=400&r=false" alt=""

Így a visszakapott képünk egy 400px széles és arányosan magas, de az eredeti felbontást megtartott kép részlet lesz, mely a 0, 0 (bal felső sarok) kép koordinátától fog számolódni.

Természetesen lehetőség van egyéni koordináták megadására is, amit a p= paraméterrel tudunk megadni.

 img src="thumbmaker.php?f=fajl/eleresiut/nev.jpg&w=400&r=false&p=50,25"

A p paraméter első értéke az X-tengely koordinátája, míg a második paraméter (vesszővel elválasztva) az Y-tengely koordinátája. Ezen paraméter használatával a kép egy megadott részét vághatjuk ki.
Természetesen itt is megadhatunk egyedi magassági méretet is.

Bővebb információ a paraméterek használatáról és az általuk megjelenített képekről a demo oldalon.

Forrás fájl beállítása:

Mindössze annyi feladatunk van, hogy az osztály példányosításakor 2. paraméterként megadjuk azt a mappát, ahová a generált bélyegképek kerüljenek mentésre.

/*
	Name : class ThumbMaker
	Verzio : 1.0
	Author : Braun Attila - htp://keveqiah.hu
*/
class ThumbMaker
{
	private $options, $stop, $orig, $Im;
	private $thumbName, $thumbDir;
 
    // Alapértelmezett beállítások beállítása, mentési útvonal, fájlnév, stb..
	function __construct($args, $savepath)
	{ //.....
	}
 
    // Található e mentett kép és/vagy létezik e a kép a feldolgozáshoz
	function ChechThumbnail()
	{ //.....
	}
 
    // Bélyegkép generálása, mentése
	function MakeThumbnail()
	{ //.....
	}
 
    // Hibás elérésű képnél tájékoztató kép készítése
	function ErrorThumbnail()
	{ //.....
	}
 
    // Bélyegkép megjelenítés típus alapján
	function ShowThumbnail($type, $img)
	{ //.....
	}
 
    // Bélyegkép mentés és megjelenítés típus alapján
	function SaveThumbnail($type, $img, $save = null)
	{ //.....
	}
}
new ThumbMaker($_GET, "thumbpath");

Hibabejelentés, ötletelés, problémamegoldás közzététele a bejegyzésen belül a kommenteléssel, vagy a weboldal kapcsolati oldalán.



  1. Írta: Keveqiah
    "Életrajzi információ" ? Hmm, az hosszú lenne. Legyen elég annyi, hogy weboldalak fejlesztésével foglalatoskodom. Ahogy időm engedi, webdesign, fejlesztés, sminkelés (Drupal, Wordpess), fotó buherálás és egyéb nyalánkságok.




Szólj hozzá