PHP开发图片水印教程之输出图片
<?php
/*打开图片*/
//配置图片路径
$src = "https://img.php.cn/upload/course/000/000/004/581454f755fb1195.jpg";
//获取图片的基本信息
$info=getimagesize($src);
//通过图像的编号来获取图片的类型
$type=image_type_to_extension($info[2],false);
//内存中创建一个和我们图像类型一致的图像
$fun = "imagecreatefrom{$type}";
//把要操作的图片复制到内存中
$image=$fun($src);
/*操作图片*/
//设置水印路径
$image_Mark = "https://img.php.cn/upload/course/000/000/004/5814594e3e7c9278.png";
//获取水印的基本信息
$info2=getimagesize($image_Mark);
//通过水印的图像编号来获取水印的图片类型
$type2=image_type_to_extension($info2[2],false);
//在内存中创建一个和水印图像一致的图像类型
$fun2="imagecreatefrom{$type2}";
//把水印复制到内存中
$water = $fun2($image_Mark);
//合并图片
imagecopymerge($image,$water,60,40,0,0,$info2[0],$info2[1],30);
//销毁水印图片
imagedestroy($water);
/*输出图片*/
header("Content-type:",$info['mime']);
$funs = "image{$type}";
$funs($image);
/*销毁图片*/
imagedestroy($image);
?> header("Content-type:",$info['mime']);
$funs = "image{$type}";
$funs($image);
$funs($image,'FFFF.'.$type);/*销毁图片*/ imagedestroy($image);
定义个变量$funcs输出图片然后再销毁图片
对图片添加图片水印完成。
$info['mime']的解释
如果写成header('content_type:image/jpeg') 这样,就表示类型只能是图片类型,而且只能是jpeg格式的。
而写成header('content_type:'.$info['mime']),content_type是有上传的文件决定的,是可变的(如果是png图片就是image/png),更灵活!
print_r($info); Array ( [0] => 850 [1] => 511 [2] => 3 [3] => width="850" height="511" [bits] => 8 [mime] => image/png )
$info['mime'] 就是指那个image/png了就是文件的类型了
