Subversion Repositories eFlore/Projets.eflore-projets

Rev

Rev 797 | Rev 916 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 797 Rev 807
Line 421... Line 421...
421
					$message = "Impossible de générer l'image sur le serveur. Extenssion ImageMagick abscente.";
421
					$message = "Impossible de générer l'image sur le serveur. Extenssion ImageMagick abscente.";
422
					$code = RestServeur::HTTP_CODE_ERREUR;
422
					$code = RestServeur::HTTP_CODE_ERREUR;
423
					throw new Exception($message, $code);
423
					throw new Exception($message, $code);
424
				}
424
				}
425
			} else if ($this->convertisseur == 'rsvg') {
425
			} else if ($this->convertisseur == 'rsvg') {
426
				$png = $this->convertirEnPNGAvecRsvg($svg);
426
				$png = Commun::convertirEnPNGAvecRsvg($this->getIdFichier(), $this->config['cache_stockageChemin'], $svg);
427
			} else {
427
			} else {
428
				$message = "Le convertisseur indiqué '{$this->convertisseur}' ne fait pas parti de la liste ".
428
				$message = "Le convertisseur indiqué '{$this->convertisseur}' ne fait pas parti de la liste ".
429
					"des convertisseurs disponibles : imagick, rsvg.";
429
					"des convertisseurs disponibles : imagick, rsvg.";
430
				$code = RestServeur::HTTP_CODE_ERREUR;
430
				$code = RestServeur::HTTP_CODE_ERREUR;
431
				throw new Exception($message, $code);
431
				throw new Exception($message, $code);
Line 448... Line 448...
448
		$convertisseur->clear();
448
		$convertisseur->clear();
449
		$convertisseur->destroy();
449
		$convertisseur->destroy();
450
		return $png;
450
		return $png;
451
	}
451
	}
Line 452... Line -...
452
 
-
 
453
	private function convertirEnPNGAvecRsvg($svg) {
-
 
454
		$idFichier = $this->getIdFichier();
-
 
455
		$fichierPng = $this->config['cache_stockageChemin'].$idFichier.'.png';
-
 
456
		$fichierSvg = $this->config['cache_stockageChemin'].$idFichier.'.svg';
-
 
457
		file_put_contents($fichierSvg, $svg);
-
 
458
		$commande = "rsvg-convert $fichierSvg -d 75 -p 75 -o $fichierPng";
-
 
459
		$rsvg = exec($commande);
-
 
460
 
-
 
461
		$this->indexerFichierPng($fichierPng);
-
 
462
		$png = file_get_contents($fichierPng);
-
 
463
		return $png;
-
 
464
	}
-
 
465
 
-
 
466
	private function indexerFichierPng($fichierPng) {
-
 
467
		$img = imagecreatefrompng($fichierPng);
-
 
468
		imagetruecolortopalette($img, false, 32);
-
 
469
		$blanc = imagecolorallocate($img, 255, 255, 255);
-
 
470
		imagefill($img, 0, 0, $blanc);
-
 
471
		imagepng($img, $fichierPng, 9, PNG_ALL_FILTERS);
-
 
472
	}
-
 
473
 
452
 
474
	private function getIdFichier() {
453
	private function getIdFichier() {
475
		$id = '';
454
		$id = '';
476
		foreach ($this->taxonsDemandes as $reftax => $ids) {
455
		foreach ($this->taxonsDemandes as $reftax => $ids) {
477
			$id[] = $reftax;
456
			$id[] = $reftax;