[PP-svn] SF.net SVN: projectpier: [154] ProjectPier/Trunk/library/simplegd/classes/ SimpleGdImage.c
Brought to you by:
projectpier
|
From: <mik...@us...> - 2008-03-25 13:14:12
|
Revision: 154
http://projectpier.svn.sourceforge.net/projectpier/?rev=154&view=rev
Author: miknight
Date: 2008-03-25 06:14:15 -0700 (Tue, 25 Mar 2008)
Log Message:
-----------
[#743] Fixed uploading of transparent GIFs
Modified Paths:
--------------
ProjectPier/Trunk/library/simplegd/classes/SimpleGdImage.class.php
Modified: ProjectPier/Trunk/library/simplegd/classes/SimpleGdImage.class.php
===================================================================
--- ProjectPier/Trunk/library/simplegd/classes/SimpleGdImage.class.php 2008-03-25 12:08:06 UTC (rev 153)
+++ ProjectPier/Trunk/library/simplegd/classes/SimpleGdImage.class.php 2008-03-25 13:14:15 UTC (rev 154)
@@ -291,7 +291,13 @@
$height = (integer) $height > 0 ? (integer) $height : 1;
if ($this->getImageType() == IMAGETYPE_GIF) {
- $new_resource = imagecreate($width, $height);
+ $new_resource = imagecreatetruecolor($new_width, $new_height);
+ $colorcount = imagecolorstotal($this->resource);
+ imagetruecolortopalette($new_resource, true, $colorcount);
+ imagepalettecopy($new_resource, $this->resource);
+ $transparentcolor = imagecolortransparent($this->resource);
+ imagefill($new_resource, 0, 0, $transparentcolor);
+ imagecolortransparent($new_resource, $transparentcolor);
} else {
$new_resource = imagecreatetruecolor($width, $height);
} // if
@@ -359,7 +365,13 @@
$new_height = floor($scale * $this->getHeight());
if ($this->getImageType() == IMAGETYPE_GIF) {
- $new_resource = imagecreate($new_width, $new_height);
+ $new_resource = imagecreatetruecolor($new_width, $new_height);
+ $colorcount = imagecolorstotal($this->resource);
+ imagetruecolortopalette($new_resource, true, $colorcount);
+ imagepalettecopy($new_resource, $this->resource);
+ $transparentcolor = imagecolortransparent($this->resource);
+ imagefill($new_resource, 0, 0, $transparentcolor);
+ imagecolortransparent($new_resource, $transparentcolor);
} else {
$new_resource = imagecreatetruecolor($new_width, $new_height);
} // if
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|