码迷,mamicode.com
首页 > Web开发 > 详细

php 图片处理笔记

时间:2017-10-12 19:14:29      阅读:212      评论:0      收藏:0      [点我收藏+]

标签:设定   img   空白   标识   透明背景   接受   属性   ges   name   

<?php

/*
//根据str生成
header("Content-type:image/png");
$imageUrl="http://www.ci123.com/index/styles/images/index_fwq.png";
$str=file_get_contents($imageUrl);
$a=imagecreatefromstring($str);
imagepng($a);//有filename为生成,无为显示
imagedestroy();
*/

/*
//生成带背景的图片 完美运行~非透明
header("Content-type:image/png");
$imageUrl="http://www.ci123.com/index/styles/images/index_fwq.png";
$s1=imagecreatefrompng($imageUrl);
$w=imagesx($s1);
$h=imagesy($s1);
$d1=imagecreatetruecolor($w,$h);

$white = imagecolorallocate($d1, 255, 255, 255); //创建白色背景 生成即调用 第一次对 imagecolorallocate() 的调用会给基于调色板的图像填充背景色,即用 imagecreate() 建立的图像。
imagefilledrectangle($d1, 0, 0, $w, $h,$white); //画个大小一致矩形充当背景
imagecopyresampled($d1,$s1,0,0,0,0,$w,$h,$w,$h);
imagepng($d1);//有filename为生成,无为显示
imagedestroy($d1);//
*/


/*
//生成png图片
header("Content-type:image/png");
$imageUrl="./4.png";
$s1=imagecreatefrompng($imageUrl);
$w=imagesx($s1);
$h=imagesy($s1);
$d1=imagecreatetruecolor($w,$h);
$white = imagecolorallocate($d1, 255, 255, 255);//创建透明白色背景 0-127 0代表完全不透明
imagefilledrectangle($d1, 0, 0, $w, $h,$white); //画个大小一致矩形充当背景
imagecolortransparent($d1,$white);//imagecolortransparent() 将 image 图像中的透明色设定为 color。image 是 imagecreatetruecolor() 返回的图像标识符,color 是 imagecolorallocate() 返回的颜色标识符。注意:透明色是图像的一种属性,透明度不是颜色的属性。一旦设定了某个颜色为透明色,图像中之前画为该色的任何区域都成为透明的。透明度仅能通过 imagecopymerge() 和真彩色图像拷贝,不能用 imagecopy() 或调色板图像。
imagecolorallocatealpha($d1,255,255,255,127);
imagecopyresampled($d1,$s1,0,0,0,0,$w,$h,$w,$h);
imagepng($d1);//有filename为生成,无为显示
imagedestroy($d1);
//imagecolorallocate+imagecolortransparent 的组合 生成透明背景

*/

/*header("Content-type:image/png");
$imageUrl="http://www.ci123.com/index/styles/images/index_fwq.png";
$s1=imagecreatefrompng($imageUrl);
$w=imagesx($s1);
$h=imagesy($s1);
$d1=imagecreate($w,$h);
$white = imagecolorallocate($d1, 255, 255, 255); //创建白色背景 生成即调用 第一次对 imagecolorallocate() 的调用会给基于调色板的图像填充背景色,即用 imagecreate() 建立的图像。
imagecopyresampled($d1,$s1,0,0,0,0,$w,$h,$w,$h);
imagepng($d1);//有filename为生成,无为显示
imagedestroy($d1);
*/
/*
header("Content-type:image/png");
$imageUrl="http://www.ci123.com/index/styles/images/index_fwq.png";
$s1=imagecreatepng($imageUrl);
$w=imagesx($s1);
$h=imagesy($s1);
$d1=imagecreatetruecolor($w,$h);
$bgcolor = imagecolorallocatealpha($d1, 255, 255, 255, 127); //创建透明白色背景
imagefilledrectangle($d1, 0, 0, $w, $h, $bgcolor); //画个大小一致矩形充当背景

imagecopyresampled($d1,$s1,0,0,0,0,$w,$h,$w,$h);
imagepng($d1,"1.png");//有filename为生成,无为显示
imagedestroy();
*/


/*
直接imagePng生成png会有损伤
imagepng($a,time().".png",0);
imagecreatefromstring 接受的是imagetsr 非base64编码

用imagecreatetruecolor(int x,int y)建立的是一幅大小为 x和 y的黑色图像(默认为黑色),如想改变背景颜色则需要用填充颜色函数imagefill($img,0,0,$color);
imagecreate 新建一个空白图像资源,用imagecolorAllocate()添加背景色 http://blog.sina.com.cn/s/blog_68b56adb0100vnhn.html

//对于生成PNG图片 allocate无效

*/

function selimg($s1,$s2){
header("Content-type:image/png");
$aw=600;
$ah=400;
$s1=imagecreatefromjpeg($s1);
$s2=imagecreatefromjpeg($s2);
$aim=imagecreatetruecolor($aw,$ah);
$width=imagecolorallocate($aim,255,255,255);
imagecopyresampled($aim,$s1,0,0,0,0,$aw/2,$ah,imagesx($s1),imagesy($s1));
imagecopyresampled($aim,$s2,$aw/2,0,0,0,$aw/2,$ah,imagesx($s2),imagesy($s2));
imagejpeg($aim,"",100);
imagedestroy($aim);
}
$s1="http://shiyong.ci123.com/images/upload/20170414164129_big.jpg";
$s2="http://shiyong.ci123.com/images/upload/20171009095428_big.jpg";
selimg($s1,$s2);
?>

php 图片处理笔记

标签:设定   img   空白   标识   透明背景   接受   属性   ges   name   

原文地址:http://www.cnblogs.com/snowsherry/p/7657280.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!