搜索
系统检测到您的用户名不符合规范:

用Image类给透明背景图片添加文字丢失透明背景的解决办法

浏览:2464 发布日期:2016年01月20日 分类:技术分享 关键字: Image 图像处理
今天用Image类给一个透明背景的png添加文字水印,结果保存后的图片透明背景变白色了,然后就找资料学习,线分享如下:
版本:thinkphp 3.2
前提:采用的Gd库
找到Gd.class.php文件, 路径:ThinkPHP/Library/Think/Image/Driver/Gd.class.php
将类中的save方法替换如下:/**
* 保存图像
* @param string $imgname 图像保存名称
* @param string $type 图像类型
* @param integer $quality 图像质量
* @param boolean $interlace 是否对JPEG类型图像设置隔行扫描
*/
public function save($imgname, $type = null, $quality=80,$interlace = true){
if(empty($this->img)) E('没有可以被保存的图像资源');

//自动获取图像类型
if(is_null($type)){
$type = $this->info['type'];
} else {
$type = strtolower($type);
}
//保存图像
if('jpeg' == $type || 'jpg' == $type){
//JPEG图像设置隔行扫描
imageinterlace($this->img, $interlace);
imagejpeg($this->img, $imgname,$quality);
}elseif('gif' == $type && !empty($this->gif)){
$this->gif->save($imgname);
}else{
// 保存透明色
imagesavealpha($this->img, true);
$fun = 'image'.$type;
$fun($this->img, $imgname);
}
}
仅仅在上面代码的26行,添加了如下代码:// 保存透明色
imagesavealpha($this->img, true);
分享给有同样需求的童鞋们,有什么不良反应,请大家指正,谢谢!
最佳答案
评论() 相关
后面还有条评论,
评论支持使用[code][/code]标签添加代码
您需要登录后才可以评论 登录 | 立即注册
收藏
樂樂
积分:249 等级:LV1
热点推荐
(追記) (追記ここまで)
最新更新

我们

合作

网站

信息

ThinkPHP 是一个免费开源的,快速、简单的面向对象的 轻量级PHP开发框架 ,创立于2006年初,遵循Apache2开源协议发布,是为了敏捷WEB应用开发和简化企业应用开发而诞生的。ThinkPHP从诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简的代码的同时,也注重易用性。并且拥有众多的原创功能和特性,在社区团队的积极参与下,在易用性、扩展性和性能方面不断优化和改进,已经成长为国内最领先和最具影响力的WEB应用开发框架,众多的典型案例确保可以稳定用于商业以及门户级的开发。

AltStyle によって変換されたページ (->オリジナル) /