423,7 → 423,7 |
throw new Exception($message, $code); |
} |
} else if ($this->convertisseur == 'rsvg') { |
$png = $this->convertirEnPNGAvecRsvg($svg); |
$png = Commun::convertirEnPNGAvecRsvg($this->getIdFichier(), $this->config['cache_stockageChemin'], $svg); |
} else { |
$message = "Le convertisseur indiqué '{$this->convertisseur}' ne fait pas parti de la liste ". |
"des convertisseurs disponibles : imagick, rsvg."; |
450,27 → 450,6 |
return $png; |
} |
|
private function convertirEnPNGAvecRsvg($svg) { |
$idFichier = $this->getIdFichier(); |
$fichierPng = $this->config['cache_stockageChemin'].$idFichier.'.png'; |
$fichierSvg = $this->config['cache_stockageChemin'].$idFichier.'.svg'; |
file_put_contents($fichierSvg, $svg); |
$commande = "rsvg-convert $fichierSvg -d 75 -p 75 -o $fichierPng"; |
$rsvg = exec($commande); |
|
$this->indexerFichierPng($fichierPng); |
$png = file_get_contents($fichierPng); |
return $png; |
} |
|
private function indexerFichierPng($fichierPng) { |
$img = imagecreatefrompng($fichierPng); |
imagetruecolortopalette($img, false, 32); |
$blanc = imagecolorallocate($img, 255, 255, 255); |
imagefill($img, 0, 0, $blanc); |
imagepng($img, $fichierPng, 9, PNG_ALL_FILTERS); |
} |
|
private function getIdFichier() { |
$id = ''; |
foreach ($this->taxonsDemandes as $reftax => $ids) { |