Vízjel Watermark Feltöltött képre

Szerző
Üzenet
Pistiv
Regisztrált tag
Regisztrált tag


Csatlakozott: 2009.09.24. Csütörtök 16:32
Hozzászólások: 9
Hozzászólás Elküldve: 2009.11.12. 17:20    Hozzászólás témája: Vízjel Watermark Feltöltött képre
Hozzászólás az előzmény idézésével
Üdv!
Egyszerű lenne a kérdésem: Hogy tudom megoldani a PhPBB3-omban, hogy ha feltöltenek a fórumra egy képet akkor azt le vízjelezze nekem!
pl. az oldal logojára vagy a fórum címére??
Várom a tanácsokat és a segítségeket! Előre is Köszönöm!

Felhasználó profiljának megtekintése Privát üzenet küldése
k959
Gyakorlott phpBB-s
Gyakorlott phpBB-s
Avatar

Csatlakozott: 2008.03.14. Péntek 17:08
Hozzászólások: 1005
Hozzászólás Elküldve: 2009.11.12. 18:58    Hozzászólás témája:
Hozzászólás az előzmény idézésével
Szia.
Érdekes kérdés-kérés. :) A legegyszerűbben úgy tudod megcsináni ha letöltöd amit ők feltöltenek, és valami garafikai progiban vízjelezed, majd mehet vissza a helyére.
Maga a fórum ezt nem fogja neked megcsinálni, hacsak nincs rá valami mod, igaz én nem tudok ilyet. :shock:

Felhasználó profiljának megtekintése Privát üzenet küldése Felhasználó weblapjának megtekintése
pstvfan
Gyakorlott phpBB-s
Gyakorlott phpBB-s
Avatar

Csatlakozott: 2006.07.30. Vasárnap 1:00
Hozzászólások: 1415
Hozzászólás Elküldve: 2009.11.12. 20:02    Hozzászólás témája:
Hozzászólás az előzmény idézésével
Lehet írni ilyen PHP scriptet, de az nem két perc, úgyhogy holnapra biztos nem csinálom meg.
_________________
<M>

Felhasználó profiljának megtekintése Privát üzenet küldése Felhasználó weblapjának megtekintése
HoremWeb
Gyakorlott phpBB-s
Gyakorlott phpBB-s
Avatar

Csatlakozott: 2006.06.18. Vasárnap 1:00
Hozzászólások: 2390
Hozzászólás Elküldve: 2009.11.12. 20:42    Hozzászólás témája:
Hozzászólás az előzmény idézésével
Hozzáteszem még, hogy GD2 (ami valószínűleg van) és/vagy ImageMagick (ami nem biztos, hogy van) kell legyen a szerveren a képmanipuláláshoz. Ha le tudod futtatni a phpinfo()-t a szerveren, akkor az AVP rendszer fülén megtalálod, hogy ezek közül van-e valamelyik telepítve. Ha ott nincs ilyesmi, csak az üzenet, hogy a phpinfo() tiltott, attól még lehet, hogy ezek a kiegészítők megvannak. A szolgáltatód honlapján jellemzően szokott lenni erre utalás, de ha nincs, egy e-mailre csak elárulják...
_________________
Élet, üdv, egészség! - HoremWeb

Kép KEMET = Az Ókori Egyiptom

Felhasználó profiljának megtekintése Privát üzenet küldése Felhasználó weblapjának megtekintése
pstvfan
Gyakorlott phpBB-s
Gyakorlott phpBB-s
Avatar

Csatlakozott: 2006.07.30. Vasárnap 1:00
Hozzászólások: 1415
Hozzászólás Elküldve: 2009.11.12. 21:03    Hozzászólás témája:
Hozzászólás az előzmény idézésével
Mondjuk itt cachelési problémák is felmerülnek, ugyanis például egy oldalletöltésnél az összes avatárt bevízjelezni eltart egy darabig. Ugyhogy ennél valami hatékonyabbat kell kitalálni.
_________________
<M>

Felhasználó profiljának megtekintése Privát üzenet küldése Felhasználó weblapjának megtekintése
HoremWeb
Gyakorlott phpBB-s
Gyakorlott phpBB-s
Avatar

Csatlakozott: 2006.06.18. Vasárnap 1:00
Hozzászólások: 2390
Hozzászólás Elküldve: 2009.11.13. 22:13    Hozzászólás témája:
Hozzászólás az előzmény idézésével
Valószínűleg nem a letöltött fájlokat (és főleg nem az avatarokat) kellene vízjelezni, hanem a feltöltéskor a feltöltött képeket, nem?
_________________
Élet, üdv, egészség! - HoremWeb

Kép KEMET = Az Ókori Egyiptom

Felhasználó profiljának megtekintése Privát üzenet küldése Felhasználó weblapjának megtekintése
fberci
Adminisztrátor
Adminisztrátor
Avatar

Csatlakozott: 2005.05.28. Szombat 1:00
Hozzászólások: 7386
Hozzászólás Elküldve: 2009.11.14. 17:08    Hozzászólás témája:
Hozzászólás az előzmény idézésével
[DEV] Advanced Attach Watermark - v.0.1.2
_________________
Üdv.: fberci
Kereső | Szabályzat | phpBB3 telepítés/frissítés/konvertálás | Útmutatók | Olympus - phpBB3 | Kérlek, ne küldj privát üzenetet nem személyes dologgal kapcsolatban!

Felhasználó profiljának megtekintése Privát üzenet küldése Felhasználó weblapjának megtekintése
syska
Gyakorlott phpBB-s
Gyakorlott phpBB-s
Avatar

Csatlakozott: 2007.11.20. Kedd 14:52
Hozzászólások: 1466
Hozzászólás Elküldve: 2009.11.14. 17:28    Hozzászólás témája:
Hozzászólás az előzmény idézésével
Elég gyerekcipős még, de jobb mint a semmi. :) Lehet majd kipróbálom saját fórumomon, az online demo-juknál memória hibát dob sokszor...
_________________
Vízipipa Fórum - Az ország első és legnagyobb vízipipás fóruma! Folyamatosan moderált és mindig találhatsz érdekes témát! :)
Vízipipa - Az ország első és legnagyobb vízipipás közössége. Legtöbb infó a vízipipáról, legnagyobb fórummal és a legtöbb cikkel!
Vízipipa Blog - Egy blog, melynek fő témaköre a vízipipázás! Minden információ: tippek, hírek a hazai és külföldi fronton, dohány tesztek és miegymás!

Felhasználó profiljának megtekintése Privát üzenet küldése Email küldése Felhasználó weblapjának megtekintése
Pistiv
Regisztrált tag
Regisztrált tag


Csatlakozott: 2009.09.24. Csütörtök 16:32
Hozzászólások: 9
Hozzászólás Elküldve: 2009.11.16. 16:31    Hozzászólás témája: re
Hozzászólás az előzmény idézésével
Óh! :) Köszi az eddigi segítségeket. Természetesen nem a feltöltött avatarokra gondolok, hanem csak a feltöltött képekre amiket a fórumra töltenek fel.
Csak azokat szeretném vízjelezni, nem is muszáj, ha a lapom logóját tenné rá, hanem csak a lapom címét, az is elég!

Neked is Köszi Admin! Kipróbálom, majd jelzek, hogy-hogy s, mint..! :)

Szerk.:
Hűha...
Ezt le lehet valahonnan tölteni? Letöltési link, meg semmi.. nincs..

Felhasználó profiljának megtekintése Privát üzenet küldése
Silhouette
Gyakorlott phpBB-s
Gyakorlott phpBB-s


Csatlakozott: 2009.02.19. Csütörtök 10:19
Hozzászólások: 153
Hozzászólás Elküldve: 2009.11.16. 17:02    Hozzászólás témája:
Hozzászólás az előzmény idézésével
Tesztelés alatt van, úgyhogy kísérd figyelemmel a topikját. Ha nem lesz vele különösebb gond, akkor valószínű nemsoká publikus lesz.

Felhasználó profiljának megtekintése Privát üzenet küldése
Pistiv
Regisztrált tag
Regisztrált tag


Csatlakozott: 2009.09.24. Csütörtök 16:32
Hozzászólások: 9
Hozzászólás Elküldve: 2009.11.16. 17:05    Hozzászólás témája: re
Hozzászólás az előzmény idézésével
akkor értem! Köszönöm! :) 8)

Felhasználó profiljának megtekintése Privát üzenet küldése
Garudai
Gyakorlott phpBB-s
Gyakorlott phpBB-s
Avatar

Csatlakozott: 2009.02.04. Szerda 12:25
Hozzászólások: 250
Hozzászólás Elküldve: 2009.11.17. 07:50    Hozzászólás témája:
Hozzászólás az előzmény idézésével
Azt hogy lehetne megoldani, hogy a file/download.php ba belenyulni, és csak akkor tenné rá a vizjelet, amikor valaki mengyitsa teljes képernyőben,
itt van egy egyszerü watermaker.

Kód:


<?php   
    $imagesource =  $_GET['path'];
    $watermarkPath = $_GET['watermark'];
    $filetype = substr($imagesource,strlen($imagesource)-4,4);
    $filetype = strtolower($filetype);
    $watermarkType = substr($watermarkPath,strlen($watermarkPath)-4,4);
    $watermarkType = strtolower($watermarkType);
   
    if($filetype == ".gif") 
        $image = @imagecreatefromgif($imagesource);
    else 
        if($filetype == ".jpg" || $filetype == "jpeg") 
            $image = @imagecreatefromjpeg($imagesource);
        else
            if($filetype == ".png") 
                $image = @imagecreatefrompng($imagesource);
            else
                die(); 
   
    if(!$image)
        die();
   
    if($watermarkType == ".gif")
        $watermark = @imagecreatefromgif($watermarkPath);
    else
        if($watermarkType == ".png")
            $watermark = @imagecreatefrompng($watermarkPath);
        else
            die();
       
    if(!$watermark)
        die();
       
    $imagewidth = imagesx($image);
    $imageheight = imagesy($image); 
    $watermarkwidth =  imagesx($watermark);
    $watermarkheight =  imagesy($watermark);
    $startwidth = (($imagewidth - $watermarkwidth - 10)); //itt tudod elhelyeni a WM ot
    $startheight = (($imageheight - $watermarkheight -10 )); //itt tudod elhelyeni a WM
    imagecopy($image, $watermark,  $startwidth, $startheight, 0, 0, $watermarkwidth, $watermarkheight);
    imagejpeg($image);
    imagedestroy($image);
    imagedestroy($watermark);
?>


használata:

Kód:


<img src="watermark.php?path=kep.jpg&watermark=atlatszo_hatteru_kep.png"/>

Felhasználó profiljának megtekintése Privát üzenet küldése
KillBill
Gyakorlott phpBB-s
Gyakorlott phpBB-s
Avatar

Csatlakozott: 2007.03.26. Hétfő 5:42
Hozzászólások: 1877
Hozzászólás Elküldve: 2009.11.17. 19:07    Hozzászólás témája:
Hozzászólás az előzmény idézésével
Igaz a linkelt képeket kilőttem itt az új kód ezt már teljesen átnéztem :wink:

A következő változtatással az összes jpeg, jpg, gif, png kiterjesztésű képek vízjelezve lesznek a fórumon (linkelt képek [img] / csatolmányok).

includes/bbcode.php

keresd ezt a sort

Kód:

            'img'      => '<img src="$1" alt="' . $user->lang['IMAGE'] . '" />',


cseréld le erre

Kód:

            'img'      => '<img src="vizjel.php?kep=$1" alt="' . $user->lang['IMAGE'] . '" />',


download/file.php

keresd ezt a sort

Kód:

      send_file_to_browser($attachment, $config['upload_path'], $display_cat);


és ezt tedd elé

Kód:

    $tipus = strtolower($attachment['extension']);

    if($tipus == "jpg" || $tipus == "jpeg" || $tipus == "gif" || $tipus == "png")
     {
       require($phpbb_root_path . 'vizjel.' . $phpEx);
       $kep = $phpbb_root_path . $config['upload_path'] . '/' . $attachment['physical_filename'];
       vizjel($kep, $tipus);
     }


hozz létre a root könyvtárba egy vizjel.php fájlt

és ez legyen a tartalma

Kód:

<?php
/**
*
* @author  (KillBill) killbill##kukac##jatek-vilag.com
* @version $Id: vizjel.php 2010-08-05 KillBill
* @copyright (c) 20010 jatek-vilag.com
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
*
*/

/**
* @ignore
*/

$kep = (isset($_GET['kep'])) ? $_GET['kep'] : false;

if ($kep)
{
  vizjel($kep);
}

function vizjel($kep, $filetype = false)
{
    if(!$kep)
    {
      return;
    }

    global $phpbb_root_path;

      // vizjel eleresi utja
      $watermark_filetype = "png";
      $watermarkPath      = "{$phpbb_root_path}images/watermark.png";

      if (!$filetype)
       {
         $type = substr($kep, strlen($kep) - 4, 4);
         $type = strtolower($type);

         $filetype = end(explode('.', $type));
       }

         if (in_array($filetype, array('gif', 'jpg', 'jpeg', 'png')))
          {
            $filetype = ($filetype == 'jpg') ? "jpeg" : $filetype;
            header("content-type: image/{$filetype}");
          }

         if($filetype == "gif")
          {
            $image = imagecreatefromgif($kep);
          }
    else if($filetype == "jpg" || $filetype == "jpeg")
          {
            $image = imagecreatefromjpeg($kep);
          }
    else if($filetype == "png")
          {
            $image = imagecreatefrompng($kep);
          }
      else
          {
            die();
          }

         if(!$image)
          {
            die();
          }

         if($watermark_filetype == "gif")
          {
            $watermark = imagecreatefromgif($watermarkPath);
          }
    else if($watermark_filetype == "jpg" || $watermark_filetype == "jpeg")
          {
            $watermark = imagecreatefromjpeg($watermarkPath);
          }
    else if($watermark_filetype == "png")
          {
            $watermark = imagecreatefrompng($watermarkPath);
          }
      else
          {
            die();
          }

         if(!$watermark)
          {
            die();
          }

         $imagewidth      = imagesx($image);
         $imageheight     = imagesy($image);
         $watermarkwidth  = imagesx($watermark);
         $watermarkheight = imagesy($watermark);

      // itt beallithatod, hogy melyik legyen az a legkisebb meret amin ne legyen vizjelezve mert vedd figyelembe, hogy kis kepet nem erdemes !

      if($imageheight < 200 || $imagewidth < 200)
       {
        if($filetype == "gif") // smile -ra ne legyen hatassal mert akkor a kep mozgasat blokkolja
          {
             imagegif($image);imagedestroy($image);imagedestroy($watermark);die();
          }

          $watermarkwidth = $watermarkheight = 0;
       }

       $startwidth  = (($imagewidth  - $watermarkwidth - 10));  //itt tudod elhelyeni a WM ot
       $startheight = (($imageheight - $watermarkheight -10 )); //itt tudod elhelyeni a WM ot
       imagecopy($image, $watermark,  $startwidth, $startheight, 0, 0, $watermarkwidth, $watermarkheight);

      switch ($filetype)
       {
         case 'jpg':
         case 'jpeg':
            imagejpeg($image);
         break;
         case 'png':
            imagepng($image);
         break;
         case 'gif':
            imagegif($image);
         break;
       }
       imagedestroy($image);
       imagedestroy($watermark);
}
?>


A vízjel típusát a php-ben png nek határoztam meg így, ha mást használnál akkor írd át.

A vízjel helyét meg az images/watermark.png határoztam meg, ha máshova töltöd fel akkor azt is módosítsd.

Ha a helyet rosszul adod meg akkor egy kép se fog addig megjelenni míg nem helyes az elérési út.



A hozzászólás legutóbb KillBill által 2010.08.05. 22:28-kor lett szerkesztve, összesen 8 alkalommal.

Felhasználó profiljának megtekintése Privát üzenet küldése Felhasználó weblapjának megtekintése MSN Messenger
Garudai
Gyakorlott phpBB-s
Gyakorlott phpBB-s
Avatar

Csatlakozott: 2009.02.04. Szerda 12:25
Hozzászólások: 250
Hozzászólás Elküldve: 2009.11.18. 11:09    Hozzászólás témája:
Hozzászólás az előzmény idézésével
Ez mind szép és jó tényelg...
És nehez a download.php be belenyulni? :D

Amúgy meg ennek a scriptnek GD kell.

Felhasználó profiljának megtekintése Privát üzenet küldése
KillBill
Gyakorlott phpBB-s
Gyakorlott phpBB-s
Avatar

Csatlakozott: 2007.03.26. Hétfő 5:42
Hozzászólások: 1877
Hozzászólás Elküldve: 2009.11.18. 11:57    Hozzászólás témája:
Hozzászólás az előzmény idézésével
Persze kell a GD
Nem hiszem, hogy nehéz meg akartam a csatolmányt is nézni, de közbe jött az új kiadás az elsőbbséget élvezet, de ha lesz időm utána nézek annak is.

Felhasználó profiljának megtekintése Privát üzenet küldése Felhasználó weblapjának megtekintése MSN Messenger
Hozzászólások megtekintése:  

Nem készíthetsz új témákat ebben a fórumban.
Nem válaszolhatsz egy témára ebben a fórumban.
Nem módosíthatod a hozzászólásaidat a fórumban.
Nem törölheted a hozzászólásaidat a fórumban.
Nem szavazhatsz ebben fórumban.

Hirdetés
Hirdetés