Bonjour tout le monde,
J'aimerais avoir une ligne de couleur bleue claire une ligne sur deux.
J'ai essayé avec ce code :
Étrangement, ça ne fonctionne pas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36 function Row($data) { //Calcule la hauteur de la ligne $nb=0; for($i=0;$i<count($data);$i++) $nb=max($nb,$this->NbLines($this->widths[$i],$data[$i])); $h=5*$nb; //Effectue un saut de page si nécessaire $this->CheckPageBreak($h); //Dessine les cellules $max = count($data); for($i=0;$i<$max;$i++) { if($i % 2 == 0) { $this->SetFillColor(224,235,255); } else { $this->SetFillColor(0,0,0); } $w=$this->widths[$i]; $a=isset($this->aligns[$i]) ? $this->aligns[$i] : 'C'; //SI Terniaire //Sauve la position courante $x=$this->GetX(); $y=$this->GetY(); //Dessine le cadre $this->Rect($x,$y,$w,$h); //Imprime le texte $this->MultiCell($w,5,$data[$i],0,$a); //Repositionne a droite $this->SetXY($x+$w,$y); } //Va a la ligne $this->Ln($h); }
La gestion de la couleur est donc ici :
Mes lignes sont toujours blanches.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 for($i=0;$i<$max;$i++) { if($i % 2 == 0) { $this->SetFillColor(224,235,255); } else { $this->SetFillColor(0,0,0); }
Voici la fonction qui permet de colorier les lignes :
Sauriez-vous me dire comment je pourrais résoudre ce problème svp ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 function SetFillColor($r,$g=-1,$b=-1) { //Set color for all filling operations if(($r==0 && $g==0 && $b==0) || $g==-1) $this->FillColor=sprintf('%.3f g',$r/255); else $this->FillColor=sprintf('%.3f %.3f %.3f rg',$r/255,$g/255,$b/255); $this->ColorFlag=($this->FillColor!=$this->TextColor); if($this->page>0) $this->_out($this->FillColor); }
Merci d'avance.
beegees
Partager