- Hozzászólások: 31
- Köszönetek: 4
Vízjel készítése bővítménye nélkül
- Laza
- Témaindító
- Nem elérhető
- Kezdő fórumozó
Kevesebb
Több
Vízjel készítése bővítménye nélkül téma létrehozva Laza által
Sokan kérdezték már tőlem, ezért itt megosztom.
Ha csak egyszerűen szeretnél a képekre egy watermark (vízjel) tenni és nem szeretnél fizetős plugint vagy komponenst venni itt egy "egyszerű" megoldás, abban az esetben, ha a mod_rewrite a szerveren engedélyezve van.
Készíts Photoshoppal vagy bármilyen képszerkesztővel egy watermark.png file-t. (ajánlott méret 100x50 px, nagyobbat nem érdemes). Másold fel az images könyvtárba (szabadon választott is lehet, csak az útvonalat jegyezzük meg.).
Íme a watermark.php, amit az images könyvtárba érdemes tenni, de szabadon választott is lehet, csak az útvonalat jegyezzük meg.
Ha ezzel megvolnánk, mentsük el a watermark.php filet a images mappába.
Következő lépés a .htaccess file módosítása (FIGYELEM! Csak akkor működik, ha a szerver támogatja a mod_rewrite-ot!), ha más helyre teszed, az útvonalat át kell írni!)
Ha nem csak jpg filerokra, akkor a (jpe?g) cseréld le (png|jpe?g|gif)-re. A p= határozza meg a vízjel pozícióját (lásd php file), a q= a minőséget.
ezt a sor kell beszúrni a .htaccess file végére. Ha mindent jól csináltál a képeken megjelenik a watermark.png.
Ha valami probléma lenne írjatok.
Ha csak egyszerűen szeretnél a képekre egy watermark (vízjel) tenni és nem szeretnél fizetős plugint vagy komponenst venni itt egy "egyszerű" megoldás, abban az esetben, ha a mod_rewrite a szerveren engedélyezve van.
Készíts Photoshoppal vagy bármilyen képszerkesztővel egy watermark.png file-t. (ajánlott méret 100x50 px, nagyobbat nem érdemes). Másold fel az images könyvtárba (szabadon választott is lehet, csak az útvonalat jegyezzük meg.).
Íme a watermark.php, amit az images könyvtárba érdemes tenni, de szabadon választott is lehet, csak az útvonalat jegyezzük meg.
Code:
<?php
//megmondja a szervernek, hogy ez egy kep lesz
header('Content-type: image/jpeg');
//kep utvonala
$img = $_GET['src'];
//watermark pozicioja
$p = $_GET['p']; if(!$p) $p = 'br';
/*
p erteket az alabbi listabol valaszthatjuk:
tl = top left
tc = top center
tr = top right
cl = center left
c = center of the image
cr = center right
bl = bottom left
bc = bottom center
br = bottom right
*/
//a vizjeles kep minosege
$q = $_GET['q'];
//ha nem adunk meg erteket, akkor 93 lesz
if(!$q || $q<0 || $q>100) $q = '93';
$filetype = substr($img,strlen($img)-4,4);
$filetype = strtolower($filetype);
//ha valakinek kellenek a gif-re vagy png-re is vegye ki a / / jelet az adott sor elol
//if($filetype == ".gif") $image = @imagecreatefromgif($img);
if($filetype == ".jpg") $image = @imagecreatefromjpeg($img);
//if($filetype == ".png") $image = @imagecreatefrompng($img);
if (!$image) die();
//az eredeti kep meretenek beolvasasa
$img_w = imagesx($image);
$img_h = imagesy($image);
/*ha a kep neveben van meret magadva akkor ezt kell hasznalni (vedd ki a / * * / -ot)
if (eregi("490x490", $img)) {
imagejpeg($image, null, $q); die();
} else {
$watermark = @imagecreatefrompng('watermark.png');
} */
//ha meret limitet szeretnel pl. ha kep szelessege ($img_w) nagyobb mint 200px tegye ra, ha magassag akkor $img_w vagy mindketto ($img_w<"200" AND $img_h<"200")
if ($img_w < "200") {
imagejpeg($image, null, $q); die();
} else {
$watermark = @imagecreatefrompng('watermark.png');
}
//vizjel kepenek merete
$w_w = imagesx($watermark);
$w_h = imagesy($watermark);
//pozicio es meretarany kiszamolasa
if($p == "tl") {
$dest_x = 0;
$dest_y = 0;
} elseif ($p == "tc") {
$dest_x = ($img_w - $w_w)/2;
$dest_y = 0;
} elseif ($p == "tr") {
$dest_x = $img_w - $w_w;
$dest_y = 0;
} elseif ($p == "cl") {
$dest_x = 0;
$dest_y = ($img_h - $w_h)/2;
} elseif ($p == "c") {
$dest_x = ($img_w - $w_w)/2;
$dest_y = ($img_h - $w_h)/2;
} elseif ($p == "cr") {
$dest_x = $img_w - $w_w;
$dest_y = ($img_h - $w_h)/2;
} elseif ($p == "bl") {
$dest_x = 0;
$dest_y = $img_h - $w_h;
} elseif ($p == "bc") {
$dest_x = ($img_w - $w_w)/2;
$dest_y = $img_h - $w_h;
} elseif ($p == "br") {
$dest_x = $img_w - $w_w;
$dest_y = $img_h - $w_h;
}
// a $dest_x és $dest_y a vegeleges helye a vizjelnek. Mivel alapban a jobb also sarokba teszi ezet itt kivontasm belole 10-et, hogy szebb legyen. Ha mashova rakod, akkor vagy le kell venni a -10 et (pl. bal felso akkor +10 kell), ha kozepre akkor le kell venni.
imagecopy($image, $watermark, $dest_x-10, $dest_y-10, 0, 0, $w_w, $w_h);
imagejpeg($image, null, $q);
imagedestroy($image);
imagedestroy($watermark);
?>
Ha ezzel megvolnánk, mentsük el a watermark.php filet a images mappába.
Következő lépés a .htaccess file módosítása (FIGYELEM! Csak akkor működik, ha a szerver támogatja a mod_rewrite-ot!), ha más helyre teszed, az útvonalat át kell írni!)
Ha nem csak jpg filerokra, akkor a (jpe?g) cseréld le (png|jpe?g|gif)-re. A p= határozza meg a vízjel pozícióját (lásd php file), a q= a minőséget.
Code:
RewriteRule (.*)images/(.*\.(jpe?g))$ $1images/watermark.php?p=br&q=90&src=$2
ezt a sor kell beszúrni a .htaccess file végére. Ha mindent jól csináltál a képeken megjelenik a watermark.png.
Ha valami probléma lenne írjatok.
Utolsó szerkesztés: 10 éve 6 hónapja Laza által.
A következő felhasználók mondtak köszönetet: boy, Isodius
Jelentkezz be, hogy te is részt vehess beszélgetésben!
- boy
- Nem elérhető
- Prémium fórumozó
Kevesebb
Több
- Hozzászólások: 182
- Köszönetek: 8
boy válaszolt a következő témában: Vízjel készítése bővítménye nélkül
Ez nagyon jó, most találtam meg. Egy baj van vele, hogy hiába változtatom a pozíciót a php fájlban, mindig ugyanoda teszi. Mivel már 7 éves a cikk, gondolom a php verzió lehet a ludas. Szívesen venném, ha valaki aktualizálná...
-gf-
Jelentkezz be, hogy te is részt vehess beszélgetésben!
- Balázs
- Nem elérhető
- Adminisztrátor
Balázs válaszolt a következő témában: Vízjel készítése bővítménye nélkül
Ha bizalmas információt szeretnél közölni az adminokkal, akkor tedd az üzeneted tartalmát a [ confidential ][ /confidential ] címkék közé (szóközök nélkül).
Joomla! tanácsadás, oktatás, fejlesztés - joomlabs.hu
Jelentkezz be, hogy te is részt vehess beszélgetésben!
- boy
- Nem elérhető
- Prémium fórumozó
Kevesebb
Több
- Hozzászólások: 182
- Köszönetek: 8
boy válaszolt a következő témában: Vízjel készítése bővítménye nélkül
Nekem ez nem akar működni...
-gf-
Jelentkezz be, hogy te is részt vehess beszélgetésben!
- Balázs
- Nem elérhető
- Adminisztrátor
Balázs válaszolt a következő témában: Vízjel készítése bővítménye nélkül
Teszteltem, nálam működik. A kulcs a böngésző gyorsítótár ürítése. Ha nem privát lapon töltöd be először, vagy nem üríted a gyorsítótárat, akkor csakbizonyos idő után fog megjelenni.
Ha bizalmas információt szeretnél közölni az adminokkal, akkor tedd az üzeneted tartalmát a [ confidential ][ /confidential ] címkék közé (szóközök nélkül).
Joomla! tanácsadás, oktatás, fejlesztés - joomlabs.hu
Utolsó szerkesztés: 3 éve 8 hónapja Balázs által.
Jelentkezz be, hogy te is részt vehess beszélgetésben!
Az oldal semmilyen kapcsolatban nem áll a Joomla!© Projecttel, sem az Open Source Matters-zel. A Joomla!© logót korlátolt licenc alatt használjuk, melyet az Open Source Matters védjegytulajdonos biztosít az Egyesült Államokban és más országokban. Minden jog fenntartva © 2011-2023 Joomla! Magyarország.
Az oldal tárhelyét a Tárhelypark biztosítja. Ha támogatni szeretnéd az oldal működését, akkor kérjük, hogy az alábbi hivatkozáson keresztül vásárolj tárhelyet.