2012-05-11 1 views
2

Je crois qu'il n'y a pas de méthode native dans TCPDF pour créer des ombres portées. Des idées comment je pourrais créer un tel effet avec l'une de ses autres méthodes? Je pensais d'abord à créer un petit dégradé à côté de chaque bord (pour les rectangles) mais je n'ai trouvé aucun moyen de créer des dégradés avec des canaux alpha différents.Ombres de dépôt dans TCPDF

+0

J'ai fini par dessiner plusieurs rectangles sur le dessus de l'autre, chaque rectangle un peu plus petit que le précédent. Chaque rectangle a un alpha de 0.01325 de sorte qu'il devient plus sombre vers le centre, donnant ainsi l'illusion d'une ombre. – Bjorn

Répondre

4

Quelque chose comme ceci:

class MYPDF extends TCPDF { 
    public function addShadow($x,$y,$h,$w){ 

     for($i=5;$i>=1;$i-=0.5){ 
      $this->SetAlpha(0.1-($i*0.02)); 
      $this->SetFillColor(0, 0, 0); 
      $this->SetDrawColor(0, 0, 0); 
      $this->Rect($x+$i, $y+$i, $h, $w, 'DF'); 
     } 

     $this->SetAlpha(1); 
    } 
}