From bb64ba5420975b1214aff6cad29b4af2fb0409d1 Mon Sep 17 00:00:00 2001
From: Evangelos Foutras <foutrelis@gmail.com>
Date: Thu, 12 Feb 2009 20:11:57 +0000
Subject: [PATCH] Transparency tweaks to imageapi module

---
 sites/all/modules/imageapi/imageapi_gd.module |   11 +++++++++--
 1 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/sites/all/modules/imageapi/imageapi_gd.module b/sites/all/modules/imageapi/imageapi_gd.module
index 32ff091..a209cd6 100644
--- a/sites/all/modules/imageapi/imageapi_gd.module
+++ b/sites/all/modules/imageapi/imageapi_gd.module
@@ -159,8 +159,10 @@ function _gd_create_tmp($image, $width, $height) {
 
   // Alpha settings have no negative effect on jpegs, 
   // but do help them support layering better for in-between steps.
-  imagealphablending($res, FALSE);
-  imagesavealpha($res, TRUE);
+  if ($image->info['extension'] == 'png' || $image->info['extension'] == 'jpg') {
+    imagealphablending($res, FALSE);
+    imagesavealpha($res, TRUE);
+  }
   
   if ($image->info['extension'] == 'gif' || $image->info['extension'] == 'jpg') {
     // grab transparent color index from src.
@@ -186,6 +188,11 @@ function _gd_create_tmp($image, $width, $height) {
     $transparency = imagecolorallocatealpha($res, 0, 0, 0, 127);
     imagefill($res, 0, 0, $transparency);
   }
+
+  if ($image->info['extension'] == 'png' || $image->info['extension'] == 'jpg') {
+    imagealphablending($res, TRUE);
+  }
+  
   return $res;
 }
 
-- 
1.6.1.3

