现在,编写封装成类的东西…每个人都叫它,我不知道怎么称呼它。

复制代码代码如下:< PHP
类resize_image {
私人o_img_width美元; / /原始图像的宽度
私人o_img_height美元; / /原始图像的高度
私人n_img_width美元; / /新图像宽度
私人n_img_height美元; / /新图像高度
私人o_img_file美元; / /原始图像文件
私人o_img_source美元; / /原始图像资源
私人n_img_file美元; / /新的图像资源
私人n_img_source美元; / /新的图像资源
私人o_to_n_per美元= 0.5; / /图像的缩放比例

初始化内部变量
功能__construct($美元覆盖旧的文件,新文件){
列表($宽度、高度美元)= getimagesize($覆盖旧的文件);
美元-> o_img_file = $覆盖旧的文件;
美元-> o_img_width = $宽度;
美元-> o_img_height = $高度;
美元-> n_img_file = $新文件;
}

缩放比例,解决黑色背景下的透明色问题。
功能get_resize_scaling_img(){
这n_img_width =美元->美元->美元-> o_to_n_per o_img_width *;
这n_img_height =美元->美元->美元-> o_to_n_per o_img_height *;
比例缩放图片(算法)
如果(美元-> n_img_width(美元-> o_img_width o_img_height))
{
美元-> n_img_width =(美元-> n_img_height /美元-> o_img_height)*美元-> o_img_width;
}
其他的
{
美元-> n_img_height =(美元-> n_img_width /美元-> o_img_width)*美元-> o_img_height;
}
美元-> o_img_source = imagecreatefromgif(美元-> o_img_file);
创建一个比例缩放画布大小
美元-> n_img_source =新建一个真彩色图像(美元-> o_img_width,美元-> n_img_height);

移除黑色不透明背景: /美化
trans_init = imagecolortransparent美元(美元-> o_img_source);
找到透明色并判断是否为色
如果($ trans_init > = 0美元trans_init o_img_source)){
如果您在RGB颜色色相中搜索
trans_index美元=取得某索引的颜色(美元-> o_img_source,trans_init美元);
在找到/创建这样的颜色之后
trans_new = imagecolorallocate美元(美元-> n_img_source,trans_index美元{红色},{trans_index美元绿色},{蓝色trans_index美元));
然后我们使用这个颜色填充新的图像。
imagefill(美元-> n_img_source,0,0,trans_new美元);
然后我们将填充颜色设置为透明。
imagecolortransparent(美元-> n_img_source,trans_new美元);
}
原始拷贝/图像到一个新画布
拷贝部分图像并调整大小(美元-> n_img_source,美元-> o_img_source,0,0,0,0,美元-> n_img_width,美元-> n_img_height,美元-> o_img_width,美元-> o_img_height);
返回n_img_source美元->;
}
资源的最后销毁
功能__destruct(){
销毁一图像(美元-> o_img_source);
销毁一图像(美元-> n_img_source);

}

}


说明:很多私有内部变量被声明要调用,因为他们以前没有这么想…这个节目看起来很笨拙…