【精简实用系列】下载远程图片并添加中文水印|imagettftext
下载远程图片并添加中文水印|imagettftext
1.//图片自定义地址生成方法
public function imgFile($url){
if(empty($url)){
return false;
}
$ext = strrchr($url, '.');
if($ext != '.gif' && $ext != ".jpg" && $ext != ".bmp" && $ext != ".png" && $ext != ".jpeg"){
echo "格式不支持!";
return false;
}
$date = date("Y-m-d",time());
$time = explode("-",$date);
$dir = 'data/upload/editer/image/';
if(!is_dir($dir.$time[0])) {
mkdir($dir.$time[0]."/".$time[1]."/".$time[2],0777,true);
}else{
if(!is_dir($dir.$time[0]."/".$time[1])){
mkdir($dir.$time[0]."/".$time[1]."/".$time[2],0777,true);
}else{
if(!is_dir($dir.$time[0]."/".$time[1]."/".$time[2])){
mkdir($dir.$time[0]."/".$time[1]."/".$time[2],0777,true);
}
}
}
$filename = $dir.$time[0]."/".$time[1]."/".$time[2].'/'.time().$ext;
return $filename;
}
2.远程图片下载并添加中文水印
public function GrabImage($url){
$filename = $this->imgFile($url);
$size = getimagesize($url);
$width = $size[0];
$height = $size[1];
$heights = $height-20;
$ext = strrchr($url, '.');
$font="static/font/wryh.ttf";
$text = '热淘网 www.retao5.com';
if($ext == ".jpg" || $ext == ".jpeg"){
$image=@imagecreatefromjpeg($url);
if($image){
$bg=imagecolorallocate($image,255,255,255);//白色背景
$font_color=imagecolorallocate($image,0,0,0);//水印文字黑色
imagefilledrectangle($image,0,$heights,$width,$height,$bg);
imagettftext($image,13,0,$width-200,$height-5,$font_color,$font,$text);
imagejpeg($image,$filename);
imagedestroy($image);
}else{
echo $url.'图片载入失败';
exit;
}
}
return '/'.$filename;
}
3.调用远程图片下载及添加水印方法
public function updownImg(){
$url = 'http://www.retao5.com/data/upload/editer/image/2016/05/25/1464120736.jpg';
$imgsta = $this->GrabImage($url);
if($imgsta){
echo '图片下载成功!';
exit;
}else{
echo '图片下载失败!';
exit;
}
}