Készítsen áttekintő képet bélyegképek php

Készítsen áttekintő képet bélyegképek php

Agenda - kép méreteit és generatsiyathumbnails meg pomoschiPHP .A ezt a témát elég cikkeket. Néhány ezek csak egy elmélet, néhány csak gyakorolni, és néhány nem értik egyáltalán, hogy mit írt.

Ebben a cikkben nem akarok belemenni az elmélet miniatúrák, ahogy, és hogy lehet csökkenteni, és levágja. Hozok gyakorlásának jogát. Úgy vélem, egy script bélyegkép és miniatűr képek.

Bélyegkép php

Először is, két dolgot. Először is, azt fogja használni a kifejezést eredeti kép és a vászon miniatúrák. Ha az első tiszta, azután a második, azt fogja magyarázni, hogy mi vagyunk az eredeti kép lesz másolva a létrehozott kép újra, hogy van, valójában a vászon jön létre a miniatúrák. Másodszor, hogy egy listát a tulajdonságok, amelyek a forgatókönyvet kellett volna.

A feladat -, hogy hozzon létre egy script dolgozni képeket, a következő jellemzőkkel bír:

  1. Meg kell dolgozni jpeg, gif, png.
  2. Ez lehetővé teszi, hogy csökkentsék a kép egy meghatározott szélességű vagy magasságú
  3. Ez lehetővé teszi, hogy hozzon létre miniatúrák (bélyegképek) képek, betartják a szabályokat:
    a) Ha a szélessége és magassága az eredeti kép nagyobb. mint a miniatúrák a vászon, a kép csökkenteni kell úgy, hogy teljesen elfoglalták területén miniatűr vásznon. Ebben az esetben, ha néhány, a csökkentett kép jön ki túl a miniatűr vászon, azokat le kell vágni.
    b) Ha a kép szélessége nagyobb. mint a szélessége egy áttekintő a vászon, és a magassága is kisebb. A kép közepén van a vásznon miniatűr, a kiálló részek vannak vágva, és az üres terek tele vannak a megadott színt.
    c) Ha a kép magassága több. mint a magassága a miniatűr vászon, és a szélessége kevesebb. A kép közepén van a vásznon miniatűr, a kiálló részek vannak vágva, és a tér tele van a megadott színt.
    g) Ha a magasság és a szélesség a kép kisebb. mint a magassága és szélessége a miniatűr vászon, a kép közepén van a vásznon mozaikok és a szabad tér tele van a megadott tsvetov.Funktsiya alábbiakban mutatjuk be. Tehát, nézzük úgy, hogy a funkció végzi a fent felsorolt ​​tételek.

Lines 1-2. Inicializálása funkciót. $ Src - a forrás fájl neve, $ dest - a név a generált file, $ szélesség, magasság $ - szélessége és magassága pixelben a generált kép. Opcionális paraméterek: $ rgb - a háttér színét, alapértelmezett - fekete, $ minősége - minősége a generált JPEG, alapértelmezés szerint - a maximális (100).

Vonal 3. Ellenőrizze, hogy van egy bizonyos fájlokat, és ha nem, akkor a függvény hamis.

4. sor: Hívjon az getimagesize funkciót, és az így kapott masszát kerül a $ méretét.

Vonal 5. Ellenőrizze a kapott kép mérete - ha nem adja át, akkor a függvény hamis.

Húr 6. Ha a hívott függvény szélessége és magassága telt nulla, akkor ugyanaz a függvény false.

Húr 7-8. Vegye ki az eredeti képarány MIME-típus.

Sorok 9-10. Az húzni képformátumok a nevét két funkciók képekkel dolgozik. Ennek célja, hogy támogassa gif, jpg és png.

Húr 11-12. Ellenőrizze, hogy az ilyen funkciókat létezik, akkor egy sztring előtt.

13. Felhívás a húr létrehoztunk egy funkció (imagecreatefrom).

Sor 14. Ha a funkció átkerült a magassága nulla, az azt jelenti, hogy szükség van, hogy ne hozzon létre bélyegképek, de csak ki egy képet a megadott maximális szélessége.

Vonal 15. Számítsuk ki az új magasság kép alapján a bemeneti paraméterek és az átvitt legnagyobb szélessége.

Sor 16. Üres kép létrehozása valódi színét.

Sorok 17-18. A függvény az eredeti kép, átléptékezi és átadja az újonnan létrehozott vászon (az 16. sor).

Sorok 19-20. Kép rögzítésre kerül a fájlt. Ebben az esetben, ha a jpeg fájl, a függvény hívására a minősége a jpg transzfer neki.

Egy hasonló sor 22. 14. sor csak akkor tekinthető abban az esetben, ha a szélessége nulla továbbították.

Sorok 23-28. Megyek a sorok 15-20.

30. Ha a húr telt el a normál szélességét és magasságát, majd a következő blokk kódot.

Sorok 31-32. Ez létrehoz egy képet valódi színét és megtöltjük a kívánt színt.

Sor 33. Ha a magassága és szélessége a betöltött kép kisebb, mint a szélessége és magassága a miniatűr a vászon, akkor ...

Sorok 34-35. Kiszámítjuk a helyzet a bemélyedés a tetején és a bal oldalon, hogy helyezze az eredeti kép a miniatűr, a vásznon.

Sorok 36-39. Másolás az eredeti képet a vászonra képekre, és mentse el a fájlt.

Sor 41. Ha a szélessége az eredeti kép kisebb, mint a szélessége a vászon, és a magassága több mint ...

Húr 42-47. Nagyjából ugyanaz, mint a vonalak 34-39.

Sorok 49-55. Mint a sorban 41-47, de itt, az esetben, ha a szélessége az eredeti kép alatt a vászon szélessége és magassága kevesebb.

Sor 57. Mialatt kódblokkot azokra az esetekre vonatkozik, amikor a szélessége és magassága az eredeti nagyobb, mint a szélessége és magassága a miniatűr a vásznon.

Sorok 58-61. Rendeljen új szélességet a kép és a szerint is, arányosan kiszámítja a magasságot. Aztán koordinátáinak kiszámításához behúzás, hogy a kép közepén a vásznon.

Sorok 62-67. Ha a újraszámítása az előző bekezdésben, kiderült, hogy a magassága kisebb, mint a magassága a miniatűr a vászon, itt már rendelni egy új kép magasságát és kiszámítja annak alapján, a szélesség. Ezután koordinátáinak kiszámításához behúzás, hogy a kép közepén a vásznon.

68-70. Hozzon létre egy új valódi színes képet, és másolja, hogy csökkentse az eredeti képet.

Sorok 71-72. Kapott utolsó pont kép most másolva a vásznon miniatúrák.

Sorok 73-74 már ismeri - hogy mentse a fájlt.

Sorok 75-78. Szabad memória a képekből készített tempót.

És most a nyilvánvaló példa. akkor azt hiszem, ez egyszerű.