Problème avec affichage de l'image d'un JpGraph
Virginie.88
Messages postés
3
Statut
Membre
-
jordane45 Messages postés 40050 Statut Modérateur -
jordane45 Messages postés 40050 Statut Modérateur -
Bonjour,
J'aimerai installer un graphique JpGraph sur mon site, sauf que j'ai ce message d'erreur :
Strict Standards: Declaration of GraphTabTitle::SetPos() should be compatible with Text::SetPos($aXAbsPos = 0, $aYAbsPos = 0, $aHAlign = 'left', $aVAlign = 'top') in /data/web/virtuals/287896/virtual/www/jpgraph-1.22.1/src/jpgraph.php on line 3165
Strict Standards: Declaration of GraphTabTitle::Stroke() should be compatible with Text::Stroke(&$aImg, $x = NULL, $y = NULL) in /data/web/virtuals/287896/virtual/www/jpgraph-1.22.1/src/jpgraph.php on line 3165
Strict Standards: Declaration of RotImage::FilledArc() should be compatible with Image::FilledArc($xc, $yc, $w, $h, $s, $e, $style = '') in /data/web/virtuals/287896/virtual/www/jpgraph-1.22.1/src/gd_image.inc.php on line 2154
JpGraph Error: HTTP headers have already been sent.
Caused by output from file jpgraph.php at line 3165.
Il est déjà sur un autre site, sous un autre hébergeur avec exactement les mêmes éléments et cela fonctionne bien.
Ce qui correspond à la ligne 2154 c'est ça :
Et ce qui correspond à la ligne 3165 :
Si quelqu'un a une idée, merci beaucoup :D
J'aimerai installer un graphique JpGraph sur mon site, sauf que j'ai ce message d'erreur :
Strict Standards: Declaration of GraphTabTitle::SetPos() should be compatible with Text::SetPos($aXAbsPos = 0, $aYAbsPos = 0, $aHAlign = 'left', $aVAlign = 'top') in /data/web/virtuals/287896/virtual/www/jpgraph-1.22.1/src/jpgraph.php on line 3165
Strict Standards: Declaration of GraphTabTitle::Stroke() should be compatible with Text::Stroke(&$aImg, $x = NULL, $y = NULL) in /data/web/virtuals/287896/virtual/www/jpgraph-1.22.1/src/jpgraph.php on line 3165
Strict Standards: Declaration of RotImage::FilledArc() should be compatible with Image::FilledArc($xc, $yc, $w, $h, $s, $e, $style = '') in /data/web/virtuals/287896/virtual/www/jpgraph-1.22.1/src/gd_image.inc.php on line 2154
JpGraph Error: HTTP headers have already been sent.
Caused by output from file jpgraph.php at line 3165.
Il est déjà sur un autre site, sous un autre hébergeur avec exactement les mêmes éléments et cela fonctionne bien.
Ce qui correspond à la ligne 2154 c'est ça :
class RotImage extends Image { var $m=array(); var $a=0; var $dx=0,$dy=0,$transx=0,$transy=0; function RotImage($aWidth,$aHeight,$a=0,$aFormat=DEFAULT_GFORMAT,$aSetAutoMargin=true) { $this->Image($aWidth,$aHeight,$aFormat,$aSetAutoMargin); $this->dx=$this->left_margin+$this->plotwidth/2; $this->dy=$this->top_margin+$this->plotheight/2; $this->SetAngle($a); } function SetCenter($dx,$dy) { $old_dx = $this->dx; $old_dy = $this->dy; $this->dx=$dx; $this->dy=$dy; $this->SetAngle($this->a); return array($old_dx,$old_dy); } function SetTranslation($dx,$dy) { $old = array($this->transx,$this->transy); $this->transx = $dx; $this->transy = $dy; return $old; } function UpdateRotMatrice() { $a = $this->a; $a *= M_PI/180; $sa=sin($a); $ca=cos($a); // Create the rotation matrix $this->m[0][0] = $ca; $this->m[0][1] = -$sa; $this->m[0][2] = $this->dx*(1-$ca) + $sa*$this->dy ; $this->m[1][0] = $sa; $this->m[1][1] = $ca; $this->m[1][2] = $this->dy*(1-$ca) - $sa*$this->dx ; } function SetAngle($a) { $tmp = $this->a; $this->a = $a; $this->UpdateRotMatrice(); return $tmp; } function Circle($xc,$yc,$r) { // Circle get's rotated through the Arc() call // made in the parent class parent::Circle($xc,$yc,$r); } function FilledCircle($xc,$yc,$r) { list($xc,$yc) = $this->Rotate($xc,$yc); parent::FilledCircle($xc,$yc,$r); } function Arc($xc,$yc,$w,$h,$s,$e) { list($xc,$yc) = $this->Rotate($xc,$yc); $s += $this->a; $e += $this->a; parent::Arc($xc,$yc,$w,$h,$s,$e); } function FilledArc($xc,$yc,$w,$h,$s,$e) { list($xc,$yc) = $this->Rotate($xc,$yc); $s += $this->a; $e += $this->a; parent::FilledArc($xc,$yc,$w,$h,$s,$e); } function SetMargin($lm,$rm,$tm,$bm) { parent::SetMargin($lm,$rm,$tm,$bm); $this->dx=$this->left_margin+$this->plotwidth/2; $this->dy=$this->top_margin+$this->plotheight/2; $this->UpdateRotMatrice(); } function Rotate($x,$y) { // Optimization. Ignore rotation if Angle==0 || ANgle==360 if( $this->a == 0 || $this->a == 360 ) { return array($x + $this->transx, $y + $this->transy ); } else { $x1=round($this->m[0][0]*$x + $this->m[0][1]*$y,1) + $this->m[0][2] + $this->transx; $y1=round($this->m[1][0]*$x + $this->m[1][1]*$y,1) + $this->m[1][2] + $this->transy; return array($x1,$y1); } } function CopyMerge($fromImg,$toX,$toY,$fromX,$fromY,$toWidth,$toHeight,$fromWidth=-1,$fromHeight=-1,$aMix=100) { list($toX,$toY) = $this->Rotate($toX,$toY); parent::CopyMerge($fromImg,$toX,$toY,$fromX,$fromY,$toWidth,$toHeight,$fromWidth,$fromHeight,$aMix); } function ArrRotate($pnts) { $n = count($pnts)-1; for($i=0; $i < $n; $i+=2) { list ($x,$y) = $this->Rotate($pnts[$i],$pnts[$i+1]); $pnts[$i] = $x; $pnts[$i+1] = $y; } return $pnts; } function Line($x1,$y1,$x2,$y2) { list($x1,$y1) = $this->Rotate($x1,$y1); list($x2,$y2) = $this->Rotate($x2,$y2); parent::Line($x1,$y1,$x2,$y2); } function Rectangle($x1,$y1,$x2,$y2) { // Rectangle uses Line() so it will be rotated through that call parent::Rectangle($x1,$y1,$x2,$y2); } function FilledRectangle($x1,$y1,$x2,$y2) { if( $y1==$y2 || $x1==$x2 ) $this->Line($x1,$y1,$x2,$y2); else $this->FilledPolygon(array($x1,$y1,$x2,$y1,$x2,$y2,$x1,$y2)); } function Polygon($pnts,$closed=FALSE,$fast=false) { // Polygon uses Line() so it will be rotated through that call unless // fast drawing routines are used in which case a rotate is needed if( $fast ) { parent::Polygon($this->ArrRotate($pnts)); } else parent::Polygon($pnts,$closed,$fast); } function FilledPolygon($pnts) { parent::FilledPolygon($this->ArrRotate($pnts)); } function Point($x,$y) { list($xp,$yp) = $this->Rotate($x,$y); parent::Point($xp,$yp); } function StrokeText($x,$y,$txt,$dir=0,$paragraph_align="left",$debug=false) { list($xp,$yp) = $this->Rotate($x,$y); return parent::StrokeText($xp,$yp,$txt,$dir,$paragraph_align,$debug); } }
Et ce qui correspond à la ligne 3165 :
class GraphTabTitle extends Text{ var $corner = 6 , $posx = 7, $posy = 4; var $color='darkred',$fillcolor='lightyellow',$bordercolor='black'; var $align = 'left', $width=TABTITLE_WIDTHFIT; function GraphTabTitle(){ $this->t = ''; $this->font_style = FS_BOLD; $this->hide = true; } function SetColor($aTxtColor,$aFillColor='lightyellow',$aBorderColor='black') { $this->color = $aTxtColor; $this->fillcolor = $aFillColor; $this->bordercolor = $aBorderColor; } function SetFillColor($aFillColor) { $this->fillcolor = $aFillColor; } function SetTabAlign($aAlign) { // Synonym for SetPos $this->align = $aAlign; } function SetPos($aAlign) { $this->align = $aAlign; } function SetWidth($aWidth) { $this->width = $aWidth ; } function Set($t) { $this->t = $t; $this->hide = false; } function SetCorner($aD) { $this->corner = $aD ; } function Stroke(&$aImg) { if( $this->hide ) return; $this->boxed = false; $w = $this->GetWidth($aImg) + 2*$this->posx; $h = $this->GetTextHeight($aImg) + 2*$this->posy; $x = $aImg->left_margin; $y = $aImg->top_margin; if( $this->width === TABTITLE_WIDTHFIT ) { if( $this->align == 'left' ) { $p = array($x, $y, $x, $y-$h+$this->corner, $x + $this->corner,$y-$h, $x + $w - $this->corner, $y-$h, $x + $w, $y-$h+$this->corner, $x + $w, $y); } elseif( $this->align == 'center' ) { $x += round($aImg->plotwidth/2) - round($w/2); $p = array($x, $y, $x, $y-$h+$this->corner, $x + $this->corner, $y-$h, $x + $w - $this->corner, $y-$h, $x + $w, $y-$h+$this->corner, $x + $w, $y); } else { $x += $aImg->plotwidth -$w; $p = array($x, $y, $x, $y-$h+$this->corner, $x + $this->corner,$y-$h, $x + $w - $this->corner, $y-$h, $x + $w, $y-$h+$this->corner, $x + $w, $y); } } else { if( $this->width === TABTITLE_WIDTHFULL ) $w = $aImg->plotwidth ; else $w = $this->width ; // Make the tab fit the width of the plot area $p = array($x, $y, $x, $y-$h+$this->corner, $x + $this->corner,$y-$h, $x + $w - $this->corner, $y-$h, $x + $w, $y-$h+$this->corner, $x + $w, $y); } if( $this->halign == 'left' ) { $aImg->SetTextAlign('left','bottom'); $x += $this->posx; $y -= $this->posy; } elseif( $this->halign == 'center' ) { $aImg->SetTextAlign('center','bottom'); $x += $w/2; $y -= $this->posy; } else { $aImg->SetTextAlign('right','bottom'); $x += $w - $this->posx; $y -= $this->posy; } $aImg->SetColor($this->fillcolor); $aImg->FilledPolygon($p); $aImg->SetColor($this->bordercolor); $aImg->Polygon($p,true); $aImg->SetColor($this->color); $aImg->SetFont($this->font_family,$this->font_style,$this->font_size); $aImg->StrokeText($x,$y,$this->t,0,'center'); } }
Si quelqu'un a une idée, merci beaucoup :D
A voir également:
- Problème avec affichage de l'image d'un JpGraph
- Image iso - Guide
- Affichage double ecran - Guide
- Problème affichage fenêtre windows 10 - Guide
- Windows 11 affichage classique - Guide
- Dans la présentation à télécharger, déplacez l'image dans le cadre sans en modifier la taille. redressez l'image pour que le niveau de la mer soit à l'horizontale. faites correspondre : la ligne avec le niveau de la mer ; le point avec le sommet de la grande voile. combien d'oiseaux sont dans le cadre ? - Forum Word
2 réponses
https://www.php.net/manual/fr/function.error-reporting.php
A mon avis, sur ton autre serveur le nieveau d'alerte doit être moins élevé.
A mon avis, sur ton autre serveur le nieveau d'alerte doit être moins élevé.