id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc	modified_flg
2516	透過png画像の背景が真っ黒になってしまう	kimoto	somebody	"http://xoops.ec-cube.net/modules/newbb/viewtopic.php?topic_id=14392&forum=8&post_id=64617#forumpost64617

{{{
こんにちは今EC-CUBEを使って開発をさせて頂いているのですが、透過pngをアップロードする際に透過部分が真っ黒になってしまうバグがありました。gdthumb.phpでの画像編集時の処理を修正したら解決できたので、共有させて頂きます。
$ php -v 
PHP 5.3.3 (cli) (built: Dec 11 2013 03:29:57)
Copyright (c) 1997-2010 The PHP Group 
Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies

$ git diff
diff --git a/data/module/gdthumb.php b/data/module/gdthumb.php
index 5d6afc8..2ab7d46 100644
--- a/data/module/gdthumb.php
+++ b/data/module/gdthumb.php
@@ -231,7 +232,8 @@ class gdthumb {

         $src_im = imageCreateFromPNG($path);

-      $colortransparent = imagecolortransparent($src_im);
+      $black = imagecolorallocatealpha($src_im, 0, 0, 0, 127);
+      $colortransparent = imagecolortransparent($src_im, $black);
       if ($colortransparent > -1) {
         $dst_im = $imagecreate($re_size[0], $re_size[1]);
         imagepalettecopy($dst_im, $src_im);
上のコードのように imagecolortransparent関数の第２引数にimagecolorallocatealphaを使った透過の色を指定する事で修正できました。
}}}"	バグ指摘	closed	中	EC-CUBE2.13.3	管理画面	2.13.1	修正済			1
