千家信息网

PHP的一个完美GIF等比缩放类,附带去除缩放黑背景的方法教程

发表于:2025-11-11 作者:千家信息网编辑
千家信息网最后更新 2025年11月11日,本篇内容介绍了"PHP的一个完美GIF等比缩放类,附带去除缩放黑背景的方法教程"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家
千家信息网最后更新 2025年11月11日PHP的一个完美GIF等比缩放类,附带去除缩放黑背景的方法教程

本篇内容介绍了"PHP的一个完美GIF等比缩放类,附带去除缩放黑背景的方法教程"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

现在写东西都喜欢封装成类.....大家调用一下就行了..我就不说怎么调用了

复制代码 代码如下:

class resize_image{
private $o_img_width;//原图像宽度
private $o_img_height;//原图像高度
private $n_img_width;//新图像宽度
private $n_img_height;//新图像高度
private $o_img_file;//原图像文件
private $o_img_source;//原图像资源
private $n_img_file;//新图像资源
private $n_img_source;//新图像资源
private $o_to_n_per=0.5;//图像缩放比

//初始化内部变量
function __construct($oldfile,$newfile){
list($width,$height)=getimagesize($oldfile);
$this->o_img_file=$oldfile;
$this->o_img_width=$width;
$this->o_img_height=$height;
$this->n_img_file=$newfile;
}

//等比例缩放并且解决GIF透明色为黑色背景的问题
function get_resize_scaling_img(){
$this->n_img_width=$this->o_img_width*$this->o_to_n_per;
$this->n_img_height=$this->o_img_height*$this->o_to_n_per;
//等比例缩放图片(算法)
if ( $this->n_img_width && ( $this->o_img_width <$this->o_img_height))
{
$this->n_img_width = ( $this->n_img_height/$this->o_img_height) * $this->o_img_width;
}
else
{
$this->n_img_height = ($this->n_img_width / $this->o_img_width) * $this->o_img_height;
}
$this->o_img_source=imagecreatefromgif($this->o_img_file);
//创建一个等比例缩放大小的画布
$this->n_img_source=imagecreatetruecolor($this->o_img_width,$this->n_img_height);

//美化:去除黑色不透明背景
$trans_init=imagecolortransparent($this->o_img_source);
//寻找透明色并且判断是否在总颜色中
if($trans_init>=0 && $trans_init < imagecolorstotal($this->o_img_source)){
//如果在的话则搜索这个颜色的RGB色相
$trans_index=imagecolorsforindex($this->o_img_source,$trans_init);
//找到之后就创建这样一个颜色
$trans_new=imagecolorallocate($this->n_img_source,$trans_index["red"],$trans_index["green"],$trans_index["blue"]);
//然后我们用这个颜色去填充新的图像
imagefill($this->n_img_source,0,0,$trans_new);
//然后我们在把填充色设置为透明
imagecolortransparent($this->n_img_source,$trans_new);
}
//拷贝原图像到新画板上
imagecopyresized($this->n_img_source,$this->o_img_source,0,0,0,0,$this->n_img_width,$this->n_img_height,$this->o_img_width,$this->o_img_height);
return $this->n_img_source;
}
//最终销毁资源
function __destruct(){
imagedestroy($this->o_img_source);
imagedestroy($this->n_img_source);

}

}

"PHP的一个完美GIF等比缩放类,附带去除缩放黑背景的方法教程"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!

原图 背景 资源 颜色 新图 教程 方法 代码 内容 图像 宽度 更多 知识 高度 黑色 实用 学有所成 接下来 东西 变量 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 飞鱼星dhcp服务器 河北专接本计算机网络技术 20能给个几个的数据库 龙旭网络技术公司长春分公司 公安机关网络安全系统 新闻网站数据库表 以色列网络安全看门人 网络安全法实施条例第四章解读 淮安软件开发公司推荐 一个数据库系统应该具备哪些功能 新乡学院计算机网络技术专业 多功能网络技术服务项目 不属于软件开发期的是 软件开发项目进展中都有哪些过程 陕西汉中新世纪软件开发公司 炎魂服务器 电子商务数据库基础知识 多串口服务器区分端口 视易系统连接数据库失败 海南通用软件开发定制价格 数据库中or语句 非关系型数据库管理系统概念 网络安全情况反馈表 网络安全法中ssl加密 网络安全评估案例 阿里云服务器网络安全架构 数据库设计主要分为哪几部分 电脑上管理小米云服务器 网络安全a3纸绘画报 广州net软件开发哪家可靠
0