Cikkek - létrehozása vízjelet a PHP

belépés

Ebben a fejlődési szakaszban sveogo PHP programozó széles körű funkciók dinamikus kép előállítása és együtt dolgozni velük. Ebben a cikkben megmutatom neked a technika, hogy hozzon létre egy osztályt, amely kerül vízjel ugyanezeket a képeket. Ez az osztály fog működni a két kép: Az eredeti vízjelet. Kiegészítésként, bevezetett egy harmadik lehetőség - az osztály tartalmazza az alfa változó. Ez fogja használni az alfa csatornát a vízjel.

Szereplő információ az alfa csatorna leggyakrabban kiválasztott területeken - valamilyen formában elrendezése színes területeken. Mentése az alfa csatornát a képfájl mérete növekszik 1/3. RGB képeket lehet akár 24 alfa-csatornák. Dot és indexelt képeket nem tartalmazhat alfa-csatornák.

Rész - Az alapok

Megkezdése előtt írásban az osztályban is, úgy véljük, a funkciókat, amelyeket használni fognak benne. Íme a lista:

Mint látható, a php elég funkciók dolgozó grafikus. Hagyja, hogy a célja néhány közülük, és nem világos, hogy elméletben, de a gyakorlatban minden garazdo könnyebb. Ezért ahhoz, hogy megértsük, hogyan kell dolgozni velük, használjuk őket az osztályban.

Kiválasztása az utat a cél

Most, hogy e célból meghatározott mi „mini-projekt” egy kis lépést hátra, és beszélni módjait annak megvalósítását.

Kezdjük azzal, hogy a kérelem kap két kép - az eredeti kép és a vízjel is. Ezután kell meghatározni a méretét a kép (szélesség-magasság-szélesség és magasság). Ezek az adatok azt kell pozícionálni a vízjel a kép közepén (feltételezve, hogy a méret a vízjel kisebb, mint a rajz).

Aztán szükségünk lesz előírni vízjel az eredeti képet. Ehhez meg kell határozni színes (matematikailag) rétegeket a harmadik.

És a végén, akkor kell, hogy megjelenjen a kép a böngészőben. Ebben az esetben a rajz megnyitásakor közvetlenül a forrásból megadott kulcsszó ""

Azt hiszem, az elmélet elég - a legfontosabb pontok benne vannak leírva kellő részletességgel. Most folytassa közvetlenül az írás a forgatókönyvet.

Második rész - írja a forgatókönyvet

Kezdjük a legegyszerűbb - levelet osztály készíti vízjeles képet. Mi ezt a „vízjelet”, és előírják a kódot a fájlban „api.watermark.php”. „Csontváz” az osztály lesz három funkciója van:

A következő lépés az, hogy írjon „vízjel” funkció kód osztályban. Kiegészítés a fájlt „api.watermark.php” következő sorokat:

Most vessünk egy közelebbi pillantást create_watermark () függvényt.
Először adja át három paraméter:

(Fontos megjegyezni, hogy a függvény képeket tárgyak, és nem csak olyan módon, hogy azokat - de ez a későbbiekben lesz szó)

Következő, meg kell, hogy nekünk információt az egyes képek. Tudnunk kell, hogy ez az X és Y koordinátákat a helyét a vízjel közepén az eredeti képet.

A következő lépés az lesz, hogy hozzanak létre egy új, színhű képet ugyanolyan méretű, mint az eredeti kép. Ez a kép (változó $ return_img) fogják használni származó információk kombinálása az eredeti képeket (a kép és a vízjel).

Finale megjeleníti a módosított képeket egy internetes oldalon, hogy kéri. Ezután úgy a fennmaradó két kiegészítő funkciók.

Harmadik rész - kiegészítő funkciók

Ezen kívül create_watermark funkció a mi osztály vízjel két további funkciókat. Továbbra is a forráskód az osztályban a következő sorokat:

És most részletesebben. Az első funkció „_get_ave_color” veszi számértékek a két szín és az alfa-csatorna. Visszatér az átlagolt értéket. Ez a funkció, akkor meg kell állapítanunk a szín, amelyet úgy kapunk, kérelmére a pixelek a két kép között.

A második funkció "_get_image_color" megtöri a képet vörös (piros), zöld (green) és kék (blue) alkatrészek (RGB paletta). A beépített php funkciók grafika (ezek leírása volt az a cikk elején), megkapjuk a legközelebbi szín érték az új kép.

Ezen kívül még ellenőrizni néhány pillanatig. Először is, ha sikerült a pontos érték ($ c), akkor visszakerül a funkció (visszatérő $ c). Ellenkező esetben a Dalai kísérletet, hogy vegye fel a színt ImageColorAllocate () függvényt. Ha ez nem segít elérni az eredményt, és a segítségével imagecolorclosest () függvény egyszerűen visszaadja a legközelebbi szín érték (legpontosabb).

Az első dolog, amit a script feltérképezi képet a két „A” hurok. Ezzel párhuzamosan még számított koordinátáit minden egyes pixel a vízjel.

További keresések információra RGB kazhogo pixel. Ha az aktuális pixel nem található metszéspontjában az eredeti kép és a vízjel, az osztály csak ismétli a pixel az új kép. Abban az esetben, a pixel elrendezés a régióban kereszteződés, meg kell határoznunk a színe eredményeként szuperpozíció a forrás és a vízjel mintát.

Annak megállapításához, a színe a kereszteződés régió, először meg kell, hogy a változó értékét RGB-vízjel, a megadott információkat, hogy megkaptuk a „for” ciklusok. Ezután a „_get_ave_color” funkció határozza meg az átlagos szín érték az új képet. A következő függvény „_get_image_color” meghatározása a színskála, amit használni fog „return_img” funkciót.

Ennek eredményeként befejezése után a ciklus „a” mi van a végső kép vízjelet.

Most megnézzük, mi osztály esetében.

Negyedik rész - Test Drive

Először is, szükségünk van két fájl. Az első az úgynevezett „watermark_test.php”, és tegyük meg a következő kódot:

Etotgo cél fájl nagyon egyszerű: megjeleníti az eredeti böngésző (main.jpg) és kapott (watermark.png, vízjeles) kép.

A második fájl neve „image.php” és a hely és benne a következő kódot:

Nos, egyre a végső.
Azok számára, akik szeretnék, hogy minél több információt létre képeket a népszerű formátumok, hogy néhány link:

Ahhoz, hogy teszteljük a forgatókönyvet, csak fuss „watermark_test.php” fájlt a böngésző. Ennek eredményeként, ott kell lennie a két kép - az eredeti és vízjeles.


Szavazatok száma: 10; Átlag: 4.8 értékelése:

más cikkek

Kapcsolódó cikkek