php图片写文字方法
内容导读
收集整理的这篇技术教程文章主要介绍了php图片写文字方法,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3650字,纯文字阅读大概需要6分钟。
内容图文
php图片写文字也就是相当于给图片加文字水印,而一般上传图片时,水印一般为文字或图片logo水印,下面就来看看两种添加方法。
一、文字水印
文字水印就是在图片上加上文字,主要使用gd库的imagefttext方法,并且需要字体文件。
$dst_path = 'dst.jpg';//创建图片的实例$dst = imagecreatefromstring(file_get_contents($dst_path));//打上文字$font = './simsun.ttc';//字体路径$black = imagecolorallocate($dst, 0x00, 0x00, 0x00);//字体颜色imagefttext($dst, 13, 0, 20, 20, $black, $font, '快乐编程');//输出图片list($dst_w, $dst_h, $dst_type) = getimagesize($dst_path);switch ($dst_type) { case 1://GIF header('Content-Type: image/gif'); imagegif($dst); break; case 2://JPG header('Content-Type: image/jpeg'); imagejpeg($dst); break; case 3://PNG header('Content-Type: image/png'); imagepng($dst); break; default: break;}imagedestroy($dst);
新创建一张图片,然后打印文字水印:
// imagecreatefromstring// imageCreateFromPng Create a new image from file or URL 创建图片对象// Create a 300x100 image,新创建一张图片$im = imagecreatetruecolor(500, 300);// set color$red = imagecolorallocate($im, 0xFF, 0x00, 0x00);$black = imagecolorallocate($im, 0x00, 0x00, 0x00);// Make the background red// function imagefilledrectangle ($image, $x1, $y1, $x2, $y2, $color) {}imagefilledrectangle($im, 0, 0, 300, 100, $red);// Path to our ttf font file$font_file = './font/Arial.ttf';// imagefttext ($image, $size, $angle, $x, $y, $color, $fontfile, $text, $extrainfo = null )// Draw the text 'PHP Manual' using font size 13imagefttext($im, 13, 0, 150, 50, $black, $font_file, 'PHP Manual');// Output image to the browserheader('Content-Type: image/png');imagepng($im);imagedestroy($im);clipboard.png
效果图如下:
二、图片水印
图片水印就是将一张图片加在另外一张图片上,主要使用gd库的imagecopy和imagecopymerge。
$dst_path = 'myimage.jpg';$src_path = 'http://www.logodashi.com/FileUpLoad/inspiration/636003768803214440.jpg';//创建图片的实例$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, 10, 10, 0, 0, $src_w, $src_h, 30);//如果水印图片本身带透明色,则使用imagecopy方法// imagecopy($dst, $src, 10, 10, 0, 0, $src_w, $src_h);//输出图片list($dst_w, $dst_h, $dst_type) = getimagesize($dst_path);switch ($dst_type) { case 1://GIF header('Content-Type: image/gif'); imagegif($dst); break; case 2://JPG header('Content-Type: image/jpeg'); imagejpeg($dst); break; case 3://PNG header('Content-Type: image/png'); imagepng($dst); break; default: break;}imagedestroy($dst);imagedestroy($src);
效果图:
三、其他有关图像处理的函数
/* *返回图像的大小及图像类型// Get the size of an image$size = getimagesize("http://image18-c.poco.cn/mypoco/myphoto/20160901/20/17857099520160901203311082.jpg?750x956_120");print_r($size);// 打印结果Array( [0] => 750 [1] => 956 [2] => 2 [3] => width="750" height="956" [bits] => 8 [channels] => 3 [mime] => image/jpeg)*//** * imagecopy — 拷贝图像的一部分 */// bool imagecopy ( resource $dst_im , resource $src_im , int $dst_x , int $dst_y , int $src_x , int $src_y , int $src_w , int $src_h )// 将 src_im 图像中坐标从 src_x,src_y 开始,宽度为 src_w,高度为 src_h 的一部分拷贝到 dst_im 图像中坐标为 dst_x 和 dst_y 的位置上。/* * * http://php.com/manual/zh/function.imagecopymerge.php *imagecopymerge — 拷贝并合并图像的一部分 *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 ) * * */
推荐教程:PHP教程
以上就是php图片写文字方法的详细内容,更多请关注Gxl网其它相关文章!
内容总结
以上是为您收集整理的php图片写文字方法全部内容,希望文章能够帮你解决php图片写文字方法所遇到的程序开发问题。 如果觉得技术教程内容还不错,欢迎将网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。