344,7 → 344,7 |
throw new Exception($message, $code); |
} |
} else if ($this->convertisseur == 'rsvg') { |
$png = $this->convertirEnPNGAvecRsvg($svg); |
$png = $this->convertirGraphiqueEnPNGAvecRsvg($svg); |
} else { |
$message = "Le convertisseur indiqué '{$this->convertisseur}' ne fait pas partie de la liste ". |
"des convertisseurs disponibles : imagick, rsvg."; |
371,20 → 371,20 |
return $png; |
} |
|
public function convertirEnPNGAvecRsvg($svg) { |
public function convertirGraphiqueEnPNGAvecRsvg($svg) { |
$idFichier = $this->getIdFichier(); |
$fichierPng = $this->config['cache_stockageChemin']."".$idFichier.'.png'; |
$fichierSvg = $this->config['cache_stockageChemin']."".$idFichier.'.svg'; |
$fichierPng = $this->config['cache_stockageChemin'].$idFichier.'.png'; |
$fichierSvg = $this->config['cache_stockageChemin'].$idFichier.'.svg'; |
file_put_contents($fichierSvg, $svg); |
$commande = "rsvg-convert $fichierSvg -w ".$this->largeurSVG ." -h ".$this->hauteurSVG ." -o $fichierPng"; |
//echo $commande; exit; |
$rsvg = exec($commande); |
$this->indexerFichierPng($fichierPng); |
$this->indexerGraphiqueFichierPng($fichierPng); |
$png = file_get_contents($fichierPng); |
return $png; |
} |
|
public function indexerFichierPng($fichierPng) { |
public function indexerGraphiqueFichierPng($fichierPng) { |
$img = imagecreatefrompng($fichierPng); |
imagetruecolortopalette($img, false, 32); |
imagepng($img, $fichierPng, 9, PNG_ALL_FILTERS); |