php对图像的各种处理函数代码小结
一、创建图片资源imagecreatetruecolor(width,height); 二、获取图片属性imagesx(res//宽度 三、透明处理PNG、jpeg透明色都正常,只有gif不正常 imagecolortransparent(resource image [,int color])//将某个颜色设置成透明色 四、图片的裁剪imagecopyresized() 五、加水印(文字、图片)字符串编码转换string iconv ( string $in_charset,string $out_charset,string $str ) 六、图片旋转imagerotate();//制定角度的图片翻转 七、图片的翻转沿X轴 沿Y轴翻转 八、锐化imagecolorsforindex() imagecolorat() 在图片上画图形 $img=imagecreatefromgif("./images/map.gif"); 代码如下: $red= imagecolorallocate($img,255,0);
imageline($img,100,$red); imageellipse($img,200,$red); imagegif($img,"./images/map2.gif"); imagedestroy($img); 图片普通缩放 代码如下: $filename="./images/hee.jpg"; $per=0.3; list($width,$height)=getimagesize($filename); $n_w=$width*$per; $n_h=$width*$per; $new=imagecreatetruecolor($n_w,$n_h); $img=imagecreatefromjpeg($filename); imagecopyresized($new,$img,$n_w,$n_h,$width,$height); imagejpeg($new,"./images/hee2.jpg"); imagedestroy($new); 图片等比例缩放、没处理透明色 代码如下: function thumn($background,$height,$newfile) { list($s_w,$s_h)=getimagesize($background);//获取原图片高度、宽度 if ($width && ($s_w < $s_h)) { $new=imagecreatetruecolor($width,$height); $img=imagecreatefromjpeg($background); imagecopyresampled($new,$s_w,$s_h); imagejpeg($new,$newfile); imagedestroy($new); thumn("images/hee.jpg","./images/hee3.jpg"); gif透明色处理 代码如下: function thumn($background,$s_h)=getimagesize($background);
if ($width && ($s_w < $s_h)) { $new=imagecreatetruecolor($width,$height); $img=imagecreatefromgif($background); $otsc=imagecolortransparent($img); $newt=imagecolorallocate($new,$tran["red"],$tran["green"],$tran["blue"]); imagefill($new,$newt); imagecolortransparent($new,$newt); imagecopyresized($new,$s_h); imagegif($new,$newfile); imagedestroy($new); thumn("images/map.gif","./images/map3.gif"); 图片裁剪 代码如下: function cut($background,$cut_x,$cut_y,$cut_width,$cut_height,$location){
$back=imagecreatefromjpeg($background); $new=imagecreatetruecolor($cut_width,$cut_height); imagecopyresampled($new,$back,$cut_height); imagejpeg($new,$location); imagedestroy($new); cut("./images/hee.jpg",440,140,117,112,"./images/hee5.jpg"); 图片加水印 文字水印 代码如下: function mark_text($background,$text,$x,$y){
$back=imagecreatefromjpeg($background); $color=imagecolorallocate($back,0); imagettftext($back,20,$y,$color,"simkai.ttf",$text); imagejpeg($back,"./images/hee7.jpg"); imagedestroy($back); mark_text("./images/hee.jpg","细说PHP",150,250); //图片水印 图片旋转 代码如下: $back=imagecreatefromjpeg("./images/hee.jpg"); $new=imagerotate($back,45,0); imagejpeg($new,"./images/hee9.jpg"); 图片水平翻转垂直翻转 代码如下: function turn_y($background,$newfile){ $back=imagecreatefromjpeg($background); $width=imagesx($back); $new=imagecreatetruecolor($width,$height); for($x=0; $x < $width; $x++){ imagejpeg($new,$newfile); imagedestroy($back); function turn_x($background,$height); for($y=0; $y < $height; $y++){ imagejpeg($new,$newfile); imagedestroy($back); turn_y("./images/hee.jpg","./images/hee11.jpg"); 图片锐化 代码如下: function sharp($background,$degree,$save){ $back=imagecreatefromjpeg($background); $b_x=imagesx($back); $dst=imagecreatefromjpeg($background); $r=intval($b_clr2["red"]+$degree*($b_clr2["red"]-$b_clr1["red"]));加深 $r=min(255,max($r,0));//限制r范围在0-255之间 if(($d_clr=imagecolorexact($dst,$r,$g,$b))==-1){//等于1不在颜色范围内 imagesetpixel($dst,$j,$d_clr); } sharp("./images/hee.jpg","./images/hee13.jpg"); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |