php用GD库给图片添加文字水印,整个代码比较简单,DEMO如下:
<?php /*打开图片*/ //1、配置图片路径 $src = "aeroplane.jpg"; //2、获取图片信息 $info = getimagesize($src); //3、获取图片类型 $type = image_type_to_extension($info[2], false); //4、在内存中创建一个和我们图像类型一样的图像 $func = "imagecreatefrom{$type}"; //5、把图片复制到我们的内存中 $image = $func($src); /* 操作图片 */ //1、设置字体路径 $font = "STXINGKA.ttf"; //2、填写水印内容 $content = "你好 mooc"; //3、设置字体颜色和透明度 $color = imagecolorallocatealpha($image, 255, 255, 255, 50); //4、写入文字 imagettftext($image, 60, 0, 60, 120, $color, $font, $content); /* 输出图片 */ //1、浏览器输出 header("Content-type:" . $info['mime']); $outputfunc = "image{$type}"; $outputfunc($image); //2、保存图片 $outputfunc($image, "newimage." . $type); /* 销毁图片 */ imagedestroy($image); ?>
图片水印也类似:
<?php /*打开图片*/ //1、配置图片路径 $src = "aeroplane.jpg"; //2、获取图片信息 $info = getimagesize($src); //3、获取图片类型 $type = image_type_to_extension($info[2], false); //4、在内存中创建图像 $createImageFunc = "imagecreatefrom{$type}"; //5、把图片复制内存中 $image = $createImageFunc($src); /*操作图片*/ //1、设置水印图片路径 $imageMark = "logo.png"; //2、获取水印图片基本信息 $markInfo = getimagesize($imageMark); //3、获取水印图片类型 $markType = image_type_to_extension($markInfo[2], false); //4、在内存创建图像 $markCreateImageFunc = "imagecreatefrom{$markType}"; //5、把水印图片复制到内存中 $water = $markCreateImageFunc($imageMark); //特别处理,设置透明 $color=imagecolorallocate($water,255,255,255); imagefill($water,0,0,$color); imagecolortransparent($water,$color); //6、合并图片 imagecopymerge($image, $water, 20, 30, 0, 0, $markInfo[0], $markInfo[1], 30); //7、销毁水印图片 imagedestroy($water); /* 输出图片 */ //1、浏览器输出 header("Content-type:" . $info['mime']); $outputfunc = "image{$type}"; $outputfunc($image); //2、保存图片 $outputfunc($image, "image_mark." . $type); /* 销毁图片 */ imagedestroy($image); ?>