Why can't I add a watermark and the picture can't be output? There is only a small box. The same is true for the previous pictures when they are zoomed and cropped?
城南花已开
城南花已开 2018-12-11 15:16:07
0
1
1689
'; function getImageInfo($img){ $info= getimagesize($img); $imageinfo=pathinfo($img); $getImageInfo=array( 'width' =>$info[0], 'height'=>$info[1], 'type'=>$imageinfo['extension'], ); return $getImageInfo; } water('abc.jpeg','du.png'); function water($img,$water,$pos=9,$tm=100){ $info=getImageInfo($img); $logo=getImageInfo($water); $dst=openImg($img,$info['type']); $src=openImg($water,$logo['type']); switch($pos){ case 1: $x=0; $y=0; break; case 2: $x=ceil(($info['width']-$logo['width'])/2); $y=0; break; case 3: $x=$info['width']-$logo['width']; $y=0; break; case 4: $x=0; $y=ceil(($info['height']-$logo['height'])/2); break; case 5: $x=ceil(($info['width']-$logo['width'])/2); $y=ceil(($info['height']-$logo['height'])/2); break; case 6: $x=$info['width']-$logo['width']; $y=ceil(($info['height']-$logo['height'])/2); break; case 7: $x=0; $y=$info['height']-$logo['height']; break; case 8: $x=ceil(($info['width']-$logo['width'])/2); $y=$info['height']-$logo['height']; break; case 9: $x=$info['width']-$logo['width']; $y=$info['height']-$logo['height']; break; case 0: default: $x=mt_rand(0,$info['width']-$logo['width']); $y=mt_rand(0,$y=$info['height']-$logo['height']); break; } imagecopymerge($dst,$src,$x,$y,0,0,$logo['width'],$logo['height'],$tm); header ('Content-Type:image/jpeg'); imagejpeg($dst); imagedestory($dst); imagedestory($src); } function openImg($path,$type){ switch($type){ case 'jpeg': case 'jpg': case 'pjpeg': $img=imagecreatefromjpeg($path); break; case 'png': case 'x-png': $img=imagecreatefrompng($path); break; case 'gif': $img=imagecreatefromgif($path); break; case 'wbmp': $img=imagecreatefromwbmp($path); break; default: exit('图片类型不支持'); } return $img; } ?>


城南花已开
城南花已开

reply all (1)
啊啊啊啊啊啊啊啊啊欧

If the suffix name of the picture is directly changed, this situation will occur. You can change the suffix name through PS. I hope the answer will be helpful.

// 获取图片宽度、高度和类型

// $img='time.jpg';

// print_r(getImageInfo($img));

// echo '
';

function getImageInfo($img){

$info= getimagesize($img);

$imageinfo=pathinfo($img);

$getImageInfo=array(

'width' =>$info[0],

'height'=>$info[1],

'type'=>$imageinfo['extension'],

);

return $getImageInfo;

}

water('photo.jpeg','watermark.png');

function water($img,$water,$pos=9,$tm=100){

$info=getImageInfo($img);

$logo=getImageInfo($water);

$dst=openImg($img,$info['type']);

$src=openImg($water,$logo['type']);

switch($pos){

case 1:

$x=0;

$y=0;

break;

case 2:

$x=ceil(($info['width']-$logo['width'])/2);

$y=0;

break;

case 3:

$x=$info['width']-$logo['width'];

$y=0;

break;

case 4:

$x=0;

$y=ceil(($info['height']-$logo['height'])/2);

break;

case 5:

$x=ceil(($info['width']-$logo['width'])/2);

$y=ceil(($info['height']-$logo['height'])/2);

break;

case 6:

$x=$info['width']-$logo['width'];

$y=ceil(($info['height']-$logo['height'])/2);

break;

case 7:

$x=0;

$y=$info['height']-$logo['height'];

break;

case 8:

$x=ceil(($info['width']-$logo['width'])/2);

$y=$info['height']-$logo['height'];

break;

case 9:

$x=$info['width']-$logo['width'];

$y=$info['height']-$logo['height'];

break;

case 0:

default:

$x=mt_rand(0,$info['width']-$logo['width']);

$y=mt_rand(0,$y=$info['height']-$logo['height']);

break;

}

imagecopymerge($dst,$src,$x,$y,0,0,$logo['width'],$logo['height'],$tm);

header ('Content-Type:image/jpeg');

imagejpeg($dst);

imagedestory($dst);

imagedestory($src);

}

function openImg($path,$type){

switch($type){

case 'jpeg':

case 'jpg':

case 'pjpeg':

$img=imagecreatefromjpeg($path);

break;

case 'png':

case 'x-png':

$img=imagecreatefrompng($path);

break;

case 'gif':

$img=imagecreatefromgif($path);

break;

case 'wbmp':

$img=imagecreatefromwbmp($path);

break;

default:

exit('图片类型不支持');

}

return $img;

}

?>

另外课程上的方法(亲测可用),不同在于getImageInfo函数。

header("content-type:text/html;charset=utf-8");
water('photo.jpeg','watermark.jpeg');
function getImageInfo($path) {
$info = getimagesize($path);
$data['width'] = $info[0];
$data['height'] = $info[1];
$data['type'] = $info['mime'];
return $data;
}
function openImg($path,$type){
switch($type){
case 'image/jpeg':
case 'image/jpg':
case 'image/pjpeg':
$img=imagecreatefromjpeg($path);
break;
case 'image/png':
case 'image/x-png':
$img=imagecreatefrompng($path);
break;
case 'image/gif':
$img=imagecreatefromgif($path);
break;
case 'image/wbmp':
$img=imagecreatefromwbmp($path);
break;
default:
exit('图片类型不支持');
}
return $img;
}

//$water = 'watermark.jpeg';
function water($img,$water,$pos=9,$tm=100){
$info=getImageInfo($img);
$logo=getImageInfo($water);
$dst=openImg($img,$info['type']);
$src=openImg($water,$logo['type']);
switch($pos){
case 1:
$x=0;
$y=0;
break;
case 2:
$x=ceil(($info['width']-$logo['width'])/2);
$y=0;
break;
case 3:
$x=$info['width']-$logo['width'];
$y=0;
break;
case 4:
$x=0;
$y=ceil(($info['height']-$logo['height'])/2);
break;
case 5:
$x=ceil(($info['width']-$logo['width'])/2);
$y=ceil(($info['height']-$logo['height'])/2);
break;
case 6:
$x=$info['width']-$logo['width'];
$y=ceil(($info['height']-$logo['height'])/2);
break;
case 7:
$x=0;
$y=$info['height']-$logo['height'];
break;
case 8:
$x=ceil(($info['width']-$logo['width'])/2);
$y=$info['height']-$logo['height'];
break;
case 9:
$x=$info['width']-$logo['width'];
$y=$info['height']-$logo['height'];
break;
case 0:
default:
$x=mt_rand(0,$info['width']-$logo['width']);
$y=mt_rand(0,$y=$info['height']-$logo['height']);
break;
}
imagecopymerge($dst,$src,$x,$y,0,0,$logo['width'],$logo['height'],$tm);
header ('Content-Type:image/jpeg');
imagejpeg($dst);
imagedestory($dst);
imagedestory($src);
}
?>



    Latest Downloads
    More>
    Web Effects
    Website Source Code
    Website Materials
    Front End Template
    About us Disclaimer Sitemap
    php.cn:Public welfare online PHP training,Help PHP learners grow quickly!