php根据GD库生成透明背景图和和合成图片
来源:互联网 发布:淘宝2017虚假交易处罚 编辑:程序博客网 时间:2024/06/06 13:15
//合成图片private function composite($arr) //$arr是图片的路径数组(绝对路径){ $data=$this->transparent($arr); //先将图片背景改成透明 $path_1 = $data[0]; unset($data[0]); foreach($data as $key=>$value){ //因为合成图片每次只能合成两张,而我需要合成4张所以循环操作 //将人物和装备图片分别取到两个画布中 $image_1 = imagecreatefrompng($path_1); $image_2 = imagecreatefrompng($value); //创建一个和人物图片一样大小的真彩色画布(ps:只有这样才能保证后面copy装备图片的时候不会失真) $image_3 = imageCreatetruecolor(imagesx($image_1),imagesy($image_1)); //为真彩色画布创建白色背景,再设置为透明 $color = imagecolorallocate($image_3, 255, 255, 255);//白色背景
//$color = imagecolorallocate($image_3, 1000, 1000, 1000);//透明背景或者使用$color = imagecolorallocate($image_3, 255, 0, 0);
imagefill($image_3, 0, 0, $color);
imageColorTransparent($image_3, $color);
//首先将人物画布采样copy到真彩色画布中,不会失真
imagecopyresampled($image_3,$image_1,0,0,0,0,imagesx($image_1),imagesy($image_1),imagesx($image_1),imagesy($image_1));
//再将装备图片copy到已经具有人物图像的真彩色画布中,同样也不会失真
imagecopymerge($image_3,$image_2, 0,0,0,0,imagesx($image_2),imagesy($image_2), 100);
unlink($value);
//将画布保存到指定的gif文件
imagepng($image_3,$path_1);
}
}
//将图片背景改成透明
private function transparent($arr)
{
$fileurl=array();
foreach($arr as $key=>$value){
//将人物和装备图片分别取到两个画布中
$image_1 = imagecreatefrompng($value);
//创建一个和人物图片一样大小的真彩色画布(ps:只有这样才能保证后面copy装备图片的时候不会失真)
$image_2 = imageCreatetruecolor(imagesx($image_1),imagesy($image_1));
//为真彩色画布创建白色背景,再设置为透明
$color = imagecolorallocate($image_2, 1000, 1000, 1000);
imagefill($image_2, 0, 0, $color);
imageColorTransparent($image_2, $color);
//首先将人物画布采样copy到真彩色画布中,不会失真
imagecopyresampled($image_2,$image_1,0,0,0,0,imagesx($image_1),imagesy($image_1),imagesx($image_1),imagesy($image_1));
//将画布保存到指定的gif文件
imagepng($image_2,$value);
$fileurl[]=$value;
}
return $fileurl;
}
阅读全文
1 0
- php根据GD库生成透明背景图和和合成图片
- PHP利用GD库画图和生成验证码图片
- PHP图片合成(gd库)
- php中利用gd图片验证码生成和保存
- 【PHP学习】GD库分析(图像生成和处理)
- PHP GD库相关图像生成和处理函数
- 用PHP透明GD库处理图片(1)
- php 图片和文字合成图片技术
- (PHP)图片加文字和图片合成
- php gd库扩展生成带中文字体的png图片
- GD生成透明图
- GD库添加图片水印和缩略图
- php如何配置和测试GD库
- 利用PHP结合GD实现图片裁剪和缩略图功能
- php使用GD生成图片的缩略图
- php多图片和文字合成最终图片
- PHP的gd库(图像生成和处理)的应用
- GD庫 水印合成 透明底圖處理
- [ETH]以太坊突破400美元关口创历史新高
- java克隆或者说复制做个记录
- SpringBoot+BootStrapTable+PageHelper用户新增,删除,修改
- apache hive + sentry测试
- java代码获取服务器的地址
- php根据GD库生成透明背景图和和合成图片
- 末尾0的个数
- SolrDemo
- 20. Valid Parentheses
- 欢迎使用CSDN-markdown编辑器
- 华为笔试题--LISP括号匹配 解析及源码实现
- 矩阵局部最大值
- iOS 开发之沙盒机制
- STL中的hash_map使用