From dacfe74e8b7f6db4a941a764addd8aedc35f1eb6 Mon Sep 17 00:00:00 2001
From: renato <renato@rezo.net>
Date: Sun, 4 Nov 2007 12:45:46 +0000
Subject: [PATCH] les filtres sur images avec meme nom mais different extension
 ont maintenant un different nom en cache; ne pas perdre la transparence quand
 on convert une image en palette a truecolor

---
 ecrire/inc/filtres_images.php | 15 ++++++++++++---
 1 file changed, 12 insertions(+), 3 deletions(-)

diff --git a/ecrire/inc/filtres_images.php b/ecrire/inc/filtres_images.php
index 5e43a89b51..7d4b70485a 100644
--- a/ecrire/inc/filtres_images.php
+++ b/ecrire/inc/filtres_images.php
@@ -100,7 +100,7 @@ function image_valeurs_trans($img, $effet, $forcer_format = false, $fonction_cre
 			// on garde la terminaison initiale car image simplement copiee, et on ne change pas son nom
 			$terminaison_dest = $terminaison;
 		else
-			$fichier_dest .= '-'.substr(md5("$fichier_dest-$effet"),0,5);
+			$fichier_dest .= '-'.substr(md5("$fichier-$effet"),0,5);
 		$cache = sous_repertoire(_DIR_VAR, $cache);
 		$cache = sous_repertoire($cache, $effet);
 		# cherche un cache existant
@@ -110,7 +110,7 @@ function image_valeurs_trans($img, $effet, $forcer_format = false, $fonction_cre
 			}*/
 	}
 	else 	{
-		$fichier_dest = md5("$fichier_dest-$effet");
+		$fichier_dest = md5("$fichier-$effet");
 		$cache = sous_repertoire(_DIR_VAR, $cache);
 	}
 	
@@ -275,7 +275,16 @@ function image_graver($img){
 		$w = imagesx($img);
 		$h = imagesy($img);
 		$img1 = imagecreatetruecolor($w,$h);
-		imagecopy($img1,$img,0,0,0,0,$w,$h);
+		//Conserver la transparence si possible
+		if(function_exists('ImageCopyResampled')) {
+			if (function_exists("imageAntiAlias")) imageAntiAlias($img1,true); 
+			@imagealphablending($img1, false); 
+			@imagesavealpha($img1,true); 
+			@ImageCopyResampled($img1, $img, 0, 0, 0, 0, $w, $h, $w, $h);
+		} else {
+			imagecopy($img1,$img,0,0,0,0,$w,$h);
+		}
+
 		$img = $img1;
 	}
 }
-- 
GitLab