照着这个网页改,直接就生效了,记录一下
修改 \ThinkPHP\Library\Think\Image\Driver\Gd.class.php代码,如下部分:
//新增的原图
private $src_img;
//打开图像
if('gif' == $this->info['type']){
$class = 'Think\\Image\\Driver\\GIF';
$this->gif = new $class($imgname);
$this->img = imagecreatefromstring($this->gif->image());
} else {
$fun = "imagecreatefrom{$this->info['type']}";
$this->img = $fun($imgname);
$this->src_img=$imgname; //增加此行
}
elseif('gif' == $type && !empty($this->gif)){
$this->gif->save($imgname);
}elseif('png' == $type){
//修改源码生成的不是透明图的问题
//获取源图gd图像标识符
$srcImg = imagecreatefrompng($this->src_img);
$srcWidth = imagesx($srcImg);
$srcHeight = imagesy($srcImg);
//创建新图
$newWidth = $this->info['width'];
$newHeight = $this->info['height'];
$newImg = imagecreatetruecolor($newWidth, $newHeight);
//分配颜色 + alpha,将颜色填充到新图上
$alpha = imagecolorallocatealpha($newImg, 0, 0, 0, 127);
imagefill($newImg, 0, 0, $alpha);
//将源图拷贝到新图上,并设置在保存 PNG 图像时保存完整的 alpha 通道信息
imagecopyresampled($newImg, $srcImg, 0, 0, 0, 0, $newWidth, $newHeight, $srcWidth, $srcHeight);
imagesavealpha($newImg, true);
imagepng($newImg, $imgname);
}else{
$fun = 'image'.$type;
$fun($this->img, $imgname);
}
![大笑](http://static.blog.csdn.net/xheditor/xheditor_emot/default/laugh.gif)