最近做东西再次遇到根据网页内容生成图片的问题
现将php网页生成水印图片及图片添加文字输出方法记录下来
picture.php 页面
<?php //原图 $dst_path = '1.jpg'; //水印图 $src_path = '0.gif'; //创建图片的实例 $dst = imagecreatefromstring(file_get_contents($dst_path)); $src = imagecreatefromstring(file_get_contents($src_path)); //获取水印图片的宽高 list($src_w, $src_h) = getimagesize($src_path); //将水印图片复制到目标图片上,最后个参数50是设置透明度,这里实现半透明效果 //imagecopymerge($dst, $src, 200, 300, 0, 0, $src_w, $src_h, 50); //如果水印图片本身带透明色,则使用imagecopy方法 imagecopy($dst, $src, -20, 90, 0, 0, $src_w, $src_h); //字体文件 $font = 'simkai.ttf'; //颜色 $black = imagecolorallocate($dst, 255, 255, 0); //将文字加入图片 imagefttext($dst, 40, 0, 0, 40, $black, $font, 'eyunzhu.com'); //输出图片 list($dst_w, $dst_h, $dst_type) = getimagesize($dst_path); switch ($dst_type) { case 1://GIF header('Content-Type: image/gif'); imagepng($dst,"circle1.gif");//保存图片 imagegif($dst);//输出图片 break; case 2://JPG header('Content-Type: image/jpeg'); imagejpeg($dst,"circle1.jpg"); imagejpeg($dst); break; case 3://PNG header('Content-Type: image/png'); imagepng($dst,"circle1.png"); imagepng($dst); break; default: break; } imagedestroy($dst); imagedestroy($src); ?>index.php 引用图像文件页面
<html> <img src="picture.php" /> </html>效果图:
原图:
水印图:
附录:
imagecopymerge()
imagecopymerge() 函数用于拷贝并合并图像的一部分,成功返回 TRUE ,否则返回 FALSE 。
语法:
bool imagecopymerge( resource dst_im, resource src_im, int dst_x, int dst_y, int src_x, int src_y, int src_w, int src_h, int pct )参数说明:
参数 | 说明 |
---|---|
dst_im | 目标图像 |
src_im | 被拷贝的源图像 |
dst_x | 目标图像开始 x 坐标 |
dst_y | 目标图像开始 y 坐标,x,y同为 0 则从左上角开始 |
src_x | 拷贝图像开始 x 坐标 |
src_y | 拷贝图像开始 y 坐标,x,y同为 0 则从左上角开始拷贝 |
src_w | (从 src_x 开始)拷贝的宽度 |
src_h | (从 src_y 开始)拷贝的高度 |
pct | 图像合并程度,取值 0-100 ,当 pct=0 时,实际上什么也没做,反之完全合并。 |
目前评论:0